Video & Materialien
Video erstellen
Erstellt eine Video-Generierungsaufgabe
Überblick
Die Video-Generierung ist asynchron. Nach dem Absenden einer Anfrage erhalten Sie eine task_id und eine poll_url. Anschließend pollen Sie den Task, bis das endgültige Ergebnis vorliegt.
Polling-Verhalten
Für das zuverlässigste Polling-Verhalten verwenden Sie genau die poll_url, die in der Create-Response zurückgegeben wird.
Wenn eine Create-Response poll_url zurückgibt, verwenden Sie genau diese URL. Wenn sie auf /v1/tasks/{id} zeigt, behandeln Sie sie als kanonischen festen Status-Endpunkt.
Modell- und Medienverhalten
Das Audioverhalten hängt vom Modell und Vorgang ab. Videos können Ton enthalten, auch wenn kein Audioschalter angeboten wird. Weglassen ist nicht dasselbe wie false.
veo3.1undveo3.1-fasterzeugen gemäß Gemini API immer Audio. Auch die Videogenerierung mitwan-2.6undwan-2.7bietet keine Stummschaltung. Lassen Sieoutput_audioweg oder setzen Sie es auftrue, soweit die Modelldetails dies erlauben.hailuo-h3und Grok-Videomodelle erzeugen natives Audio. Senden Sie keine Audioschalter, die nicht in den Modelldetails stehen.- Seedance 1.5/2.x und
viduq3-pro/viduq3-turboaktivieren Audio standardmäßig und unterstützen stumme Ausgabe. PixVerse C1/V5.6/V6 deaktivieren Audio standardmäßig. Verwenden Sieoutput_audionur bei Vorgängen, die es aufführen. Vidu akzeptiert auch das deklarierte boolesche Feldaudio. audio_url/audio_urlsliefern Eingabe- oder Referenzaudio und schalten die Audioausgabe nicht um. Videobearbeitung, Bewegungsübertragung und Stiltransfer können die ursprüngliche Tonspur behalten. Originalton beibehalten bedeutet nicht stummschalten.
Zulässige Werte und Audiopreise stehen in den Modelldetails. Unterstützte Aliase outputAudio, generate_audio und boolesches audio müssen bei gemeinsamer Angabe mit output_audio übereinstimmen. Versionen und Vorgänge derselben Modellfamilie können unterschiedliche Audiosteuerungen haben.
Für Produktionsintegrationen sollten Sie öffentlich erreichbare https-URLs für Bild-, Video- und Audioeingaben bevorzugen. Kompatible Modelle unterstützen weiterhin Inline-data:-URLs, aber große base64-Payloads erschweren Retry, Beobachtbarkeit und Debugging.
Request-Body
veo3.1Video-Modell-ID. Verwenden Sie die von TokenLab angezeigten Modell-IDs wie veo3.1, wan-2.7, happyhorse-1.0, viduq3, pixverse-v6 oder kling-3.0-video; waehlen Sie text-to-video, image-to-video, reference-to-video oder andere Varianten mit operation. Siehe Video Generation Guide und Models API.
PixVerse
- Modell:
pixverse-c1,pixverse-v6,pixverse-v5.6 - Operationen:
text-to-video,image-to-video,start-end-to-video,reference-to-video - Audio-Auswahl:
output_audio, Standardfalse
Auf TokenLab akzeptieren die obigen PixVerse-Modelle operation=video-extension nicht.
HappyHorse
- Modell:
happyhorse-1.0 - Operationen:
text-to-video,image-to-video,reference-to-video,video-to-video - Audio-Auswahl: Senden Sie
output_audionicht
Textbeschreibung des Videos. Für die meisten öffentlichen Videomodelle ist dieses Feld erforderlich.
Auszuführende Video-Operation. Unterstützte Werte sind text-to-video, image-to-video, reference-to-video, start-end-to-video, video-to-video, video-extension, audio-to-video und motion-control. TokenLab kann die Operation aus den Eingaben ableiten, aber in Produktion wird eine explizite Angabe empfohlen.
Startbild-URL für Bild-zu-Video. Für die breiteste Kompatibilität sollte image_url bevorzugt werden.
Inline-Bild als data:-URL (zum Beispiel data:image/jpeg;base64,...). Wird von kompatiblen Modellen unterstützt, aber image_url ist in der Praxis robuster.
Referenzbilder für Flows mit dedizierter Referenz-Konditionierung. Die zulässige Anzahl ist modellabhängig. Für seedance-2.0 und seedance-2.0-fast unterstützt TokenLab derzeit bis zu 9 Referenzbilder sowie zusätzlich bis zu 3 Referenzvideos und 3 Referenzaudios. Für Modellauswahl, 4K-Grenzen und Mini-Hinweise siehe den Leitfaden zu Seedance 2.0 Videomodellen. Öffentliche https-URLs werden empfohlen; kompatible Modelle akzeptieren auch data:-URLs. Für grok-imagine-video akzeptiert reference-to-video bis zu 7 Bildreferenzen und duration ist auf 10 Sekunden begrenzt. grok-imagine-video-1.5-preview ist nur image-to-video und akzeptiert keine Referenzbilder.
TokenLab Seedance-Material-ID aus Material erstellen. Verwenden Sie sie nach ACTIVE mit Seedance-Modellen, die die TokenLab-Materialbibliothek verwenden können.
Mehrere TokenLab Seedance-Material-IDs. Sie teilen sich das Seedance-Bildreferenzlimit mit reference_images; das ausgewählte Modell muss die TokenLab-Materialbibliothek verwenden können.
Normale Bild-URLs werden als Bildeingaben verwendet und erzeugen keine wiederverwendbaren Materialien. Erstellen Sie diese über die Material-API und verwenden Sie ihre TokenLab-IDs oder asset://asset-YYYYMMDDHHMMSS-xxxxx-URIs. Bei 409 seedance_material_preparing für explizite Materialien prüfen Sie die zurückgegebenen inactive_asset_ids und wiederholen die Anfrage nach dem Status ACTIVE.
Optionales Rollenfeld für Modelle, die zwischen asset und style unterscheiden.
Verwenden Sie kling_elements nur, wenn die aktuellen öffentlichen Modelldetails dieses Feld nennen. Senden Sie Bildeingaben und 1–3 Elemente mit name, optionaler description und 2–4 element_input_urls; referenzieren Sie sie im prompt mit @name. Nicht mit output_audio=true kombinieren.
Öffentlich erreichbare Quellvideo-URL. Erforderlich für Video-URL-basierte video-to-video-Flows und für motion-control; einige abgeleitete Flows verwenden stattdessen task_id.
Zusätzliche Referenzvideo-Eingaben für Modelle mit multimodaler Referenz-Konditionierung. Die zulässige Anzahl ist modellabhängig. Für seedance-2.0 und seedance-2.0-fast unterstützt TokenLab derzeit bis zu 3 Referenzvideos.
Öffentliche Audio-URL für einen vom Modell unterstützten audiogesteuerten Vorgang oder eine Audioreferenz.
Zusätzliche Referenzaudio-Eingaben für Modelle mit multimodaler Referenz-Konditionierung. Die zulässige Anzahl ist modellabhängig. Für seedance-2.0 und seedance-2.0-fast unterstützt TokenLab derzeit bis zu 3 Referenzaudios.
Task-ID für bestimmte Fortsetzungs-, Erweiterungs- oder abgeleitete Flows.
Modellspezifischer Startoffset für bestimmte video-extension-Flows.
Modellspezifischer Multiplikator oder Wiederholungszähler für bestimmte video-extension-Flows.
Dauer des generierten Ausgabevideos in Sekunden. Für Seedance 1.5/2.0-Modelle wird bei Auslassung 5 verwendet; -1 lässt das Modell innerhalb des unterstützten Bereichs wählen, und die Abrechnung wird bis zum Task-Abschluss konservativ geschätzt.
Kompatibilitätsalias für duration. Wenn seconds und duration gemeinsam gesendet werden, müssen sie identisch sein. Für Seedance hat seconds=-1 dieselbe Auto-Dauer-Bedeutung wie duration=-1.
Kanonisches Seitenverhältnis, zum Beispiel adaptive, 16:9, 9:16, 1:1, 4:3, 3:4 oder 21:9. Seedance verwendet bei Auslassung standardmäßig adaptive.
Modellabhängige Ausgabeauflösung. Seedance verwendet standardmäßig 720p; seedance-2.0 unterstützt 480p, 720p, 1080p und 4k, während seedance-2.0-fast und seedance-2.0-mini auf 480p und 720p begrenzt sind.
Audiowahl für Vorgänge, die dieses Feld deklarieren. Ohne Angabe gilt der Modellstandard; false fordert nur dann stumme Ausgabe an, wenn dies erlaubt ist. Siehe Audiohinweise und Modelldetails.
Seedance 1.5 Pro Draft-Workflow-Schalter. Verwenden Sie draft=true mit Seedance-Modellen, die Draft-Aufgaben unterstützen. Nicht zusammen mit draft_task_id senden.
Seedance 1.5 Pro Draft-Promotion-Task-ID. Senden Sie eine frühere Draft-Task-ID, um das finale Video zu erstellen; dies ist kein generisches Videofeld.
Kompatibilitätsalias für aspect_ratio. Wenn ratio und aspect_ratio gemeinsam gesendet werden, müssen sie identisch sein.
Kompatibilitätsalias für output_audio. Wenn generate_audio, output_audio und outputAudio gemeinsam auftreten, müssen alle Werte übereinstimmen.
Optionale Ausführungsablaufzeit in Sekunden für kompatible Videomodelle. Seedance verwendet bei Auslassung standardmäßig 172800 Sekunden.
Optionale Task-Priorität von 0 bis 9 für kompatible Videomodelle. Kombinieren Sie priority nicht mit service_tier=flex.
Optionale Sicherheitskennung des Endnutzers für kompatible Videomodelle. Wenn sie für Seedance fehlt, verwendet TokenLab den Wert von user, sofern vorhanden.
default wird für Seedance 2.0-Modelle als kompatibler No-op akzeptiert. flex ist nur erlaubt, wenn das ausgewählte Modell es unterstützt.
Optionale Bildanzahl für kompatible Videomodelle. Seedance 2.0-Modelle und Seedance 1.5 Pro unterstützen dieses Feld nicht.
Optionaler Festkamera-Schalter für kompatible Videomodelle. Seedance 2.0-Modelle unterstützen dieses Feld nicht.
Bildrate (1–120). Nur bei Modellen wirksam, die FPS öffentlich unterstützen.
Inhalte, die in der Generierung vermieden werden sollen.
Zufallswert für reproduzierbare Generierung. Seedance verwendet bei Auslassung -1 als Zufallswert.
Prompt-Treue (0–20), nur bei unterstützenden Modellen wirksam.
Bewegungsstärke (0–1), nur bei unterstützenden Modellen wirksam.
Startframe-Bild-URL oder kompatibler Bildeingang für start-end-to-video.
Endframe-Bild-URL oder kompatibler Bildeingang für start-end-to-video.
Modellspezifische Größenstufe für kompatible Videomodelle.
Optionaler Wasserzeichen-Schalter für Modelle, die ihn anbieten. Seedance verwendet bei Auslassung standardmäßig false.
Modellspezifischer Effekt-Selektor für bestimmte Editier- oder Effekt-Flows.
Eindeutige Kennung des Endnutzers. Für Seedance verwendet TokenLab diesen Wert auch als safety_identifier, wenn dieses Feld fehlt.
Kompatibilitätshinweise
- Kanonische öffentliche Felder bleiben in snake_case:
aspect_ratio,output_audio,reference_imagesundreference_image_type. - Aus Kompatibilitätsgründen akzeptiert TokenLab auch
ratio,generate_audio,outputAudio,seconds,referenceImagesundreferenceImageType. - Wenn kanonische Felder und Alias-Felder gemeinsam gesendet werden, müssen ihre Werte übereinstimmen; widersprüchliche Aliase werden vor Task-Erstellung abgelehnt.
- Wenn
operationweggelassen wird, leitet TokenLab sie aus den Eingaben ab. Für Produktionstraffic wird eine expliziteoperationweiterhin empfohlen.
Best Practices für Eingaben
- Für
image_url,reference_images,video_urlundaudio_urlsollten öffentlich erreichbarehttps-URLs bevorzugt werden. - Vermeiden Sie möglichst, base64 und Remote-URLs innerhalb derselben Anfrage zu mischen.
- Remote-Medien-URLs sollten lange genug gültig sein, um Wiederholungen und die asynchrone Task-Erstellung abzudecken.
Seedance-Parameter
Für Seedance 1.5/2.0-Modelle folgt der einheitliche Endpunkt den TokenLab-Feldnamen und akzeptiert zusätzlich die kompatiblen Aliase seconds, ratio und generate_audio. Weggelassene Seedance-Parameter verwenden diese Standardwerte: duration=5, resolution=720p, aspect_ratio=adaptive, output_audio=true, watermark=false, return_last_frame=false, execution_expires_after=172800, priority=0 und seed=-1.
duration=-1 oder seconds=-1 lässt Seedance die Ausgabedauer innerhalb des unterstützten Modellbereichs wählen. TokenLab schätzt die Kosten bis zum Task-Abschluss konservativ und rechnet anschließend nach der abgeschlossenen Task-Usage ab, wenn diese verfügbar ist. service_tier=default wird für Seedance 2.0 als kompatibler No-op akzeptiert; service_tier=flex, frames und camera_fixed werden abgelehnt, wenn das ausgewählte Modell sie nicht unterstützt.
Seedance-Beispiel
curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "A sleek product reveal with cinematic camera movement",
"operation": "text-to-video",
"duration": -1,
"aspect_ratio": "adaptive",
"resolution": "720p",
"output_audio": true
}'Antwort
Ergebnis-, Fehler-, Zeitstempel- und Modellfelder werden zurückgegeben, wenn sie für den Task verfügbar sind.
Kanonische asynchrone Aufgaben-ID. Wenn id und task_id beide vorhanden sind, behandeln Sie sie als dieselbe Aufgabe.
Eindeutige Task-ID für das Polling.
Empfohlene Polling-URL für diesen Task. Verwenden Sie diesen Pfad unverändert.
TokenLab-Abrechnungstransaktions-ID, wenn die Abrechnung bereits abgeschlossen ist. Dies ist die Kennung für Dashboard/Abgleich und getrennt von der asynchronen id / task_id.
Task-Status: pending, processing, completed, failed.
Unix-Zeitstempel der Task-Erstellung.
Verwendetes Modell.
Einzelnes Videoobjekt mit url, duration, width und height, falls verfügbar.
Video-Array, wenn die Generierungsaufgabe mehrere Ausgaben zurückgibt.
Fehlermeldung (falls fehlgeschlagen).
Anfrage
curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3.1",
"prompt": "A cat walking through a garden, cinematic lighting",
"operation": "text-to-video",
"duration": 4,
"aspect_ratio": "16:9"
}'Antwort
{
"id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "pending",
"model": "veo3.1",
"created": 1706000000
}Bild-zu-Video
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "hailuo-2.3-standard",
"prompt": "The scene begins from the provided image and adds gentle natural motion.",
"operation": "image-to-video",
"image_url": "https://example.com/image.jpg",
"duration": 6,
"resolution": "768p"
}
)Kling-3.0-Elemente
Verwenden Sie kling_elements nur, wenn die aktuellen öffentlichen Modelldetails dieses Feld nennen. Senden Sie Bildeingaben und 1–3 Elemente mit name, optionaler description und 2–4 element_input_urls; referenzieren Sie sie im prompt mit @name. Nicht mit output_audio=true kombinieren.
Referenzbild-zu-Video
Verwenden Sie operation=reference-to-video, wenn das Modell eine dedizierte Referenz-Konditionierung unterstützt. Im Modelldetails von TokenLab werden Bildreferenzen über reference_images übergeben, multimodale Referenzvideos und -audios über video_urls und audio_urls. Für seedance-2.0 und seedance-2.0-fast unterstützt TokenLab derzeit bis zu 9 Referenzbilder sowie zusätzlich bis zu 3 Referenzvideos und 3 Referenzaudios. Für Modellauswahl, 4K-Grenzen und Mini-Hinweise siehe den Leitfaden zu Seedance 2.0 Videomodellen. duration steuert nur die Länge des generierten Outputs; es setzt kein separates Limit für die Dauer des Referenzvideo-Eingangs. Für grok-imagine-video akzeptiert reference-to-video bis zu 7 Bildreferenzen (reference_images oder image_urls) und duration ist auf 10 Sekunden begrenzt. Kombinieren Sie Referenzbilder nicht mit image_url / image als Startbild-Eingaben. grok-imagine-video-1.5-preview ist nur image-to-video.
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "veo3.1",
"prompt": "Keep the same subject identity and palette while adding subtle motion.",
"operation": "reference-to-video",
"reference_images": [
"https://example.com/ref-a.jpg",
"https://example.com/ref-b.jpg"
],
"reference_image_type": "asset",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16"
}
)Start- und Endframe-Steuerung
Verwenden Sie start_image und end_image, um ersten und letzten Frame zu kontrollieren.
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "viduq2-pro",
"operation": "start-end-to-video",
"start_image": "https://example.com/day.jpg",
"end_image": "https://example.com/night.jpg",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
)Video-zu-Video
Für video-to-video mit grok-imagine-video senden Sie eine öffentliche HTTPS-.mp4-URL als video_url und die Bearbeitungsanweisung als prompt. Lassen Sie resolution, duration und aspect_ratio für diese Operation weg.
Wenn ein Modell ein bestehendes Video als Haupteingabe akzeptiert, verwenden Sie operation=video-to-video.
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "grok-imagine-video",
"operation": "video-to-video",
"video_url": "https://example.com/source.mp4",
"prompt": "Enhance the clip while preserving the original motion."
}
)Bewegungssteuerung
Wenn ein Modell sowohl ein Motivbild als auch ein Bewegungsreferenzvideo benötigt, verwenden Sie operation=motion-control. TokenLab normalisiert die öffentliche Form image_url + video_url in das Motion-Control-Anfrageformat dieses Modells.
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "kling-3.0-motion-control",
"operation": "motion-control",
"prompt": "Keep the subject stable while following the motion reference.",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p"
}
)Modellerkennung
Der öffentliche Videomodellbestand und die unterstützten Operationen ändern sich mit der Zeit. Verwenden Sie die Models API als aktuelle Referenz, bevor Sie einen modellspezifischen Flow integrieren:
curl "https://api.tokenlab.sh/v1/models?recommended_for=video"
curl "https://api.tokenlab.sh/v1/models/veo3.1"Lesen Sie die Modelldetail-Antwort, bevor Sie sich auf modellspezifische Operationen oder Felder verlassen. Operationen wie audio-to-video und video-extension sind modellspezifisch; prüfen Sie die aktuelle Verfügbarkeit dort, statt sich auf statische Beispiele auf dieser Seite zu verlassen.
Autorisierung
BearerAuth API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.
Ort: header
Header
Zustellungsrichtlinie pro Anfrage. Überschreibt die API-Key- und Workspace-Standardeinstellungen. Versucht automatisch zuerst TokenLab Verified und kann vor der Ausgabe, der Annahme der Anfrage oder der Erstellung persistenter Ressourcen einmalig auf Official umstellen.
Zulässige Werte
- "auto"
- "verified"
- "official"
Anfragekörper
application/json
Antwort
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json