Wan 2.5 Preview texte vers vidéo
curl --request POST \
--url https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"input": {
"prompt": "<string>",
"negative_prompt": "<string>",
"audio_url": "<string>"
},
"parameters": {
"size": "<string>",
"duration": 123,
"prompt_extend": true,
"audio": true,
"seed": 123
}
}
'import requests
url = "https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview"
payload = {
"input": {
"prompt": "<string>",
"negative_prompt": "<string>",
"audio_url": "<string>"
},
"parameters": {
"size": "<string>",
"duration": 123,
"prompt_extend": True,
"audio": True,
"seed": 123
}
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
input: {prompt: '<string>', negative_prompt: '<string>', audio_url: '<string>'},
parameters: {size: '<string>', duration: 123, prompt_extend: true, audio: true, seed: 123}
})
};
fetch('https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'input' => [
'prompt' => '<string>',
'negative_prompt' => '<string>',
'audio_url' => '<string>'
],
'parameters' => [
'size' => '<string>',
'duration' => 123,
'prompt_extend' => true,
'audio' => true,
'seed' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview"
payload := strings.NewReader("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"negative_prompt\": \"<string>\",\n \"audio_url\": \"<string>\"\n },\n \"parameters\": {\n \"size\": \"<string>\",\n \"duration\": 123,\n \"prompt_extend\": true,\n \"audio\": true,\n \"seed\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"negative_prompt\": \"<string>\",\n \"audio_url\": \"<string>\"\n },\n \"parameters\": {\n \"size\": \"<string>\",\n \"duration\": 123,\n \"prompt_extend\": true,\n \"audio\": true,\n \"seed\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"input\": {\n \"prompt\": \"<string>\",\n \"negative_prompt\": \"<string>\",\n \"audio_url\": \"<string>\"\n },\n \"parameters\": {\n \"size\": \"<string>\",\n \"duration\": 123,\n \"prompt_extend\": true,\n \"audio\": true,\n \"seed\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}Vidéo
Wan 2.5 Preview texte vers vidéo
POST
/
v3
/
async
/
wan-2.5-t2v-preview
Wan 2.5 Preview texte vers vidéo
curl --request POST \
--url https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"input": {
"prompt": "<string>",
"negative_prompt": "<string>",
"audio_url": "<string>"
},
"parameters": {
"size": "<string>",
"duration": 123,
"prompt_extend": true,
"audio": true,
"seed": 123
}
}
'import requests
url = "https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview"
payload = {
"input": {
"prompt": "<string>",
"negative_prompt": "<string>",
"audio_url": "<string>"
},
"parameters": {
"size": "<string>",
"duration": 123,
"prompt_extend": True,
"audio": True,
"seed": 123
}
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
input: {prompt: '<string>', negative_prompt: '<string>', audio_url: '<string>'},
parameters: {size: '<string>', duration: 123, prompt_extend: true, audio: true, seed: 123}
})
};
fetch('https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'input' => [
'prompt' => '<string>',
'negative_prompt' => '<string>',
'audio_url' => '<string>'
],
'parameters' => [
'size' => '<string>',
'duration' => 123,
'prompt_extend' => true,
'audio' => true,
'seed' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview"
payload := strings.NewReader("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"negative_prompt\": \"<string>\",\n \"audio_url\": \"<string>\"\n },\n \"parameters\": {\n \"size\": \"<string>\",\n \"duration\": 123,\n \"prompt_extend\": true,\n \"audio\": true,\n \"seed\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"negative_prompt\": \"<string>\",\n \"audio_url\": \"<string>\"\n },\n \"parameters\": {\n \"size\": \"<string>\",\n \"duration\": 123,\n \"prompt_extend\": true,\n \"audio\": true,\n \"seed\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/async/wan-2.5-t2v-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"input\": {\n \"prompt\": \"<string>\",\n \"negative_prompt\": \"<string>\",\n \"audio_url\": \"<string>\"\n },\n \"parameters\": {\n \"size\": \"<string>\",\n \"duration\": 123,\n \"prompt_extend\": true,\n \"audio\": true,\n \"seed\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}Le modèle texte vers vidéo Wan 2.5 Preview prend en charge la génération de contenus vidéo de haute qualité à partir de descriptions textuelles, avec une durée de 5 ou 10 secondes. Nouvelle capacité audio : prise en charge du doublage automatique, ainsi que de fichiers audio personnalisés.
Il s’agit d’une API asynchrone qui renvoie uniquement le task_id de la tâche asynchrone. Vous devez utiliser ce task_id pour appeler l’API de consultation du résultat de tâche afin de récupérer le résultat de génération vidéo.
En-têtes de requête
string
requis
Valeur d’énumération :
application/jsonstring
requis
Format d’authentification Bearer : Bearer {{API Key}}.
Corps de la requête
object
requis
Informations d’entrée de base, telles que le prompt.
Masquer Description des champs
Masquer Description des champs
string
requis
Prompt positif textuel. Prend en charge le chinois et l’anglais, avec une longueur maximale de 2000 caractères ; toute partie excédentaire est automatiquement tronquée.Exemple de valeur : un petit chat court sous la lumière de la lune.
string
Prompt négatif, utilisé pour décrire les éléments à éviter lors de la génération de la vidéo, permettant d’éviter ou de limiter certains contenus dans l’image.Prend en charge le chinois et l’anglais, avec une longueur maximale de 500 caractères ; toute partie excédentaire est automatiquement tronquée.Exemple de valeur : basse résolution, erreur, pire qualité, faible qualité, incomplet, doigts en trop, mauvaises proportions, etc.
string
URL du fichier audio personnalisé utilisé pour la génération vidéo. Pour l’utilisation, consultez la description des paramètres audio.Exigences audio :
- Format : wav, mp3.
- Durée : 3 à 30 secondes.
- Taille du fichier : ne doit pas dépasser 15 MB.
object
Paramètres de traitement vidéo.
Masquer Description des champs
Masquer Description des champs
string
Prend en charge les résolutions 480P, 720P et 1080P. Valeur par défaut :
1920*1080 (c’est-à-dire 1080P).
Le paramètre size sert à spécifier la résolution de sortie de la vidéo, au format largeur*hauteur. Les valeurs précises prises en charge selon les niveaux de résolution sont les suivantes :Niveau 480P : résolutions disponibles832*480: 16:9480*832: 9:16624*624: 1:1
1280*720: 16:9720*1280: 9:16960*960: 1:11088*832: 4:3832*1088: 3:4
1920*1080: 16:91080*1920: 9:161440*1440: 1:11632*1248: 4:31248*1632: 3:4
Erreur fréquente concernant le paramètre size : il faut renseigner une résolution précise (par exemple
1280*720), et non un ratio (par exemple 1:1) ni un nom de niveau (par exemple 480P, 720P).integer
Durée de la vidéo de sortie. Valeurs possibles :
5 secondes, 10 secondes.La valeur par défaut est 5.bool
Indique s’il faut activer la réécriture intelligente du prompt. Une fois activée, un grand modèle est utilisé pour réécrire automatiquement le prompt d’entrée, ce qui améliore le résultat de génération pour les prompts courts, mais augmente le temps de traitement.
true: par défaut, active la réécriture intelligentefalse: aucune réécriture
boolean
Indique s’il faut ajouter de l’audio.Priorité des paramètres : audio_url > audio ; ce paramètre n’est effectif que lorsque audio_url est vide.
true: par défaut, ajoute automatiquement un doublage à la vidéofalse: n’ajoute pas d’audio, la sortie est une vidéo silencieuse
integer
Graine aléatoire, utilisée pour contrôler le caractère aléatoire du contenu généré par le modèle. Plage de valeurs : [0, 2147483647].Si elle n’est pas renseignée, le système génère automatiquement une graine aléatoire. Si vous souhaitez obtenir des résultats relativement stables et cohérents, vous pouvez spécifier la même valeur de seed.
Informations de réponse
string
requis
task_id de la tâche asynchrone. Vous devez utiliser ce task_id pour appeler l’API de consultation du résultat de tâche afin d’obtenir le résultat généré
⌘I