Wan 2.6 Text-zu-Video
curl --request POST \
--url https://api.highwayapi.ai/v3/async/wan2.6-t2v \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"input": {
"prompt": "<string>",
"audio_url": "<string>",
"negative_prompt": "<string>"
},
"parameters": {
"seed": 123,
"size": "<string>",
"audio": true,
"duration": 123,
"shot_type": "<string>",
"watermark": true,
"prompt_extend": true
}
}
'import requests
url = "https://api.highwayapi.ai/v3/async/wan2.6-t2v"
payload = {
"input": {
"prompt": "<string>",
"audio_url": "<string>",
"negative_prompt": "<string>"
},
"parameters": {
"seed": 123,
"size": "<string>",
"audio": True,
"duration": 123,
"shot_type": "<string>",
"watermark": True,
"prompt_extend": True
}
}
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>', audio_url: '<string>', negative_prompt: '<string>'},
parameters: {
seed: 123,
size: '<string>',
audio: true,
duration: 123,
shot_type: '<string>',
watermark: true,
prompt_extend: true
}
})
};
fetch('https://api.highwayapi.ai/v3/async/wan2.6-t2v', 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/wan2.6-t2v",
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>',
'audio_url' => '<string>',
'negative_prompt' => '<string>'
],
'parameters' => [
'seed' => 123,
'size' => '<string>',
'audio' => true,
'duration' => 123,
'shot_type' => '<string>',
'watermark' => true,
'prompt_extend' => true
]
]),
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/wan2.6-t2v"
payload := strings.NewReader("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"negative_prompt\": \"<string>\"\n },\n \"parameters\": {\n \"seed\": 123,\n \"size\": \"<string>\",\n \"audio\": true,\n \"duration\": 123,\n \"shot_type\": \"<string>\",\n \"watermark\": true,\n \"prompt_extend\": true\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/wan2.6-t2v")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"negative_prompt\": \"<string>\"\n },\n \"parameters\": {\n \"seed\": 123,\n \"size\": \"<string>\",\n \"audio\": true,\n \"duration\": 123,\n \"shot_type\": \"<string>\",\n \"watermark\": true,\n \"prompt_extend\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/async/wan2.6-t2v")
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 \"audio_url\": \"<string>\",\n \"negative_prompt\": \"<string>\"\n },\n \"parameters\": {\n \"seed\": 123,\n \"size\": \"<string>\",\n \"audio\": true,\n \"duration\": 123,\n \"shot_type\": \"<string>\",\n \"watermark\": true,\n \"prompt_extend\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}Video
Wan 2.6 Text-zu-Video
POST
/
v3
/
async
/
wan2.6-t2v
Wan 2.6 Text-zu-Video
curl --request POST \
--url https://api.highwayapi.ai/v3/async/wan2.6-t2v \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"input": {
"prompt": "<string>",
"audio_url": "<string>",
"negative_prompt": "<string>"
},
"parameters": {
"seed": 123,
"size": "<string>",
"audio": true,
"duration": 123,
"shot_type": "<string>",
"watermark": true,
"prompt_extend": true
}
}
'import requests
url = "https://api.highwayapi.ai/v3/async/wan2.6-t2v"
payload = {
"input": {
"prompt": "<string>",
"audio_url": "<string>",
"negative_prompt": "<string>"
},
"parameters": {
"seed": 123,
"size": "<string>",
"audio": True,
"duration": 123,
"shot_type": "<string>",
"watermark": True,
"prompt_extend": True
}
}
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>', audio_url: '<string>', negative_prompt: '<string>'},
parameters: {
seed: 123,
size: '<string>',
audio: true,
duration: 123,
shot_type: '<string>',
watermark: true,
prompt_extend: true
}
})
};
fetch('https://api.highwayapi.ai/v3/async/wan2.6-t2v', 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/wan2.6-t2v",
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>',
'audio_url' => '<string>',
'negative_prompt' => '<string>'
],
'parameters' => [
'seed' => 123,
'size' => '<string>',
'audio' => true,
'duration' => 123,
'shot_type' => '<string>',
'watermark' => true,
'prompt_extend' => true
]
]),
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/wan2.6-t2v"
payload := strings.NewReader("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"negative_prompt\": \"<string>\"\n },\n \"parameters\": {\n \"seed\": 123,\n \"size\": \"<string>\",\n \"audio\": true,\n \"duration\": 123,\n \"shot_type\": \"<string>\",\n \"watermark\": true,\n \"prompt_extend\": true\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/wan2.6-t2v")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"input\": {\n \"prompt\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"negative_prompt\": \"<string>\"\n },\n \"parameters\": {\n \"seed\": 123,\n \"size\": \"<string>\",\n \"audio\": true,\n \"duration\": 123,\n \"shot_type\": \"<string>\",\n \"watermark\": true,\n \"prompt_extend\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/async/wan2.6-t2v")
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 \"audio_url\": \"<string>\",\n \"negative_prompt\": \"<string>\"\n },\n \"parameters\": {\n \"seed\": 123,\n \"size\": \"<string>\",\n \"audio\": true,\n \"duration\": 123,\n \"shot_type\": \"<string>\",\n \"watermark\": true,\n \"prompt_extend\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}Dies ist eine asynchrone API, die nur eine asynchrone task_id zurückgibt. Du musst mit der task_id die API zur Abfrage des Aufgabenergebnisses aufrufen, um das Ergebnis der Videogenerierung zu erhalten.
Dies ist eine asynchrone API, die nur die task_id der asynchronen Aufgabe zurückgibt. Du solltest diese task_id verwenden, um die API zur Abfrage des Aufgabenergebnisses anzufordern und das Generierungsergebnis abzurufen.
Anfrageheader
string
erforderlich
Enumerationswert:
application/jsonstring
erforderlich
Bearer-Authentifizierungsformat: Bearer {{API Key}}.
Anfragetext
object
erforderlich
Ausblenden properties
Ausblenden properties
string
erforderlich
Text-Prompt zur Beschreibung der Elemente und visuellen Eigenschaften, die im generierten Video enthalten sein sollen. Chinesisch und Englisch werden unterstützt; jedes chinesische Zeichen/jeder Buchstabe zählt als ein Zeichen, überschüssige Inhalte werden automatisch abgeschnitten.Längenbeschränkung: 0 - 2000
string
URL der Audiodatei; das Modell verwendet dieses Audio zur Videogenerierung. HTTP- oder HTTPS-Protokolle werden unterstützt. Audiobeschränkungen: Format wav oder mp3; Dauer 3–30 s; Dateigröße höchstens 15 MB. Verarbeitung bei Überschreitung: Wenn die Audiolänge den duration-Wert (5 Sekunden oder 10 Sekunden) überschreitet, werden automatisch die ersten 5 Sekunden bzw. 10 Sekunden extrahiert und der Rest verworfen. Wenn die Audiolänge kürzer als die Videodauer ist, ist der Teil nach dem Ende des Audios ein stummes Video. Beispiel: Ist das Audio 3 Sekunden lang und die Videodauer 5 Sekunden, hat das ausgegebene Video in den ersten 3 Sekunden Ton und ist in den letzten 2 Sekunden stumm.
string
Negativer Prompt zur Beschreibung von Inhalten, die nicht im Videobild erscheinen sollen; kann zur Einschränkung des Videobildes verwendet werden. Chinesisch und Englisch werden unterstützt, die Länge darf 500 Zeichen nicht überschreiten; überschüssige Inhalte werden automatisch abgeschnitten.Längenbeschränkung: 0 - 500
object
Ausblenden properties
Ausblenden properties
integer
Zufallszahl-Seed. Wertebereich: [0, 2147483647]. Wenn nicht angegeben, generiert das System automatisch einen zufälligen Seed. Wenn die Reproduzierbarkeit der Generierungsergebnisse verbessert werden soll, wird empfohlen, einen festen seed-Wert zu verwenden. Bitte beachte, dass aufgrund der probabilistischen Natur der Modellgenerierung selbst bei Verwendung desselben seed nicht garantiert werden kann, dass die Ergebnisse jedes Mal vollständig identisch sind.Wertebereich: [0, 2147483647]
string
Standard:"1920*1080"
Gibt die Auflösung des generierten Videos im Format BreiteHöhe an. Unterstützt werden 720P-Stufen (1280720/7201280/960960/1088832/8321088) und 1080P-Stufen (19201080/10801920/14401440/16321248/1248*1632).Optionale Werte:
1280*720, 720*1280, 960*960, 1088*832, 832*1088, 1920*1080, 1080*1920, 1440*1440, 1632*1248, 1248*1632boolean
Standard:true
Gibt an, ob Audio hinzugefügt werden soll. Parameterpriorität: audio_url > audio; gilt nur, wenn audio_url leer ist. true: Standardwert, dem Video wird automatisch Audio hinzugefügt; false: kein Audio hinzufügen, es wird ein stummes Video ausgegeben.
integer
Standard:5
Dauer des generierten Videos in Sekunden. Optionale Werte sind 5, 10, 15; der Standardwert ist 5. duration wirkt sich direkt auf die Kosten aus: Kosten = Stückpreis (basierend auf der Auflösung) × Dauer (Sekunden). Bitte bestätige vor dem Aufruf den Modellpreis.Optionale Werte:
5, 10, 15string
Standard:"multi"
Modus der Videogenerierung. single: Generierung mit einer einzelnen Einstellung; multi: Generierung mit mehreren Einstellungen.Optionale Werte:
single, multiboolean
Standard:false
Gibt an, ob ein Wasserzeichen hinzugefügt werden soll. Das Wasserzeichen befindet sich unten rechts im Video, der Text ist fest auf “AI 生成” gesetzt. false: Standardwert, kein Wasserzeichen hinzufügen; true: Wasserzeichen hinzufügen.
boolean
Standard:true
Gibt an, ob die intelligente Umschreibung des prompt aktiviert werden soll. Nach der Aktivierung wird ein großes Modell verwendet, um den eingegebenen prompt intelligent umzuschreiben. Bei kürzeren prompts verbessert dies das Generierungsergebnis deutlich, erhöht jedoch die Verarbeitungszeit. true: Standardwert, intelligente Umschreibung aktivieren; false: intelligente Umschreibung nicht aktivieren.
Antwortinformationen
string
erforderlich
Verwende die task_id, um die API zur Abfrage des Aufgabenergebnisses anzufordern und die generierte Ausgabe abzurufen.
⌘I