Claude Opus 5.5 ist auf SeedRouter verfügbar
SeedRouter Docs

Veo 3.1

Veo 3.1 Videoclips über eine Aufgaben-API erzeugen: drei Modelle mit Preis pro 8-Sekunden-Clip und zwei mit Preis pro Sekunde, mit Frames, Audio und GIF-Ausgabe.

View Markdown

Veo 3.1 ist das Videogenerierungsmodell von Google. SeedRouter bietet es als fünf Modell-IDs an einem Endpunkt an: drei mit Abrechnung pro Clip, jeder Clip 8 Sekunden lang, und zwei mit Abrechnung pro Sekunde und mehr Einstellungen (Dauer, Audio, Seed, negativer Prompt, erster und letzter Frame). Sende die Anfrage, behalte die zurückgegebene Aufgaben-ID und lies das fertige Video aus der Aufgabe. Bilder werden als URLs übergeben.

Modell-IDs

Modell-IDAbrechnungLängeBilderAudio
veo-3.1-fastpro Clip8 Sekundenbis zu 3, Frame- oder Referenzmoduskein Schalter
veo-3.1-qualitypro Clip8 Sekundenbis zu 3, Frame-Moduskein Schalter
veo-3.1-litepro Clip8 Sekundenkeine (Text zu Video)kein Schalter
veo-3.1-fast-officialpro Sekunde4, 6 oder 8 Sekundenerster und letzter Framegenerate_audio
veo-3.1-quality-officialpro Sekunde4, 6 oder 8 Sekundenerster und letzter Framegenerate_audio

Aktuelle Preise findest du auf der Modellseite.

Kurzbeispiel

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-fast",
    "prompt": "A red paper boat drifts across a calm pond at sunrise, soft mist on the water, slow push-in on a 35mm lens, no text, no logos.",
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

Endpunkt

POST https://api.seedrouter.ai/v1/videos/generations
HeaderWert
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Die Antwort ist eine Aufgabe ({"id": "task_...", "status": "processing"}), nicht das fertige Video. Frag GET /v1/tasks/{task_id} ab, um das Ergebnis zu erhalten. Bewahre API-Schlüssel in serverseitigem Code auf.

Parameter: Modelle pro Clip

veo-3.1-fast, veo-3.1-quality und veo-3.1-lite.

FeldTypStandardwertHinweise
modelstringPflichtEine der drei IDs oben.
promptstringPflichtBeschreibt die Einstellung.
durationinteger8Nur 8 wird akzeptiert.
aspect_ratioenum16:9 oder 9:16.
resolutionenum720p720p, 1080p oder 4k (Groß-/Kleinschreibung egal). veo-3.1-lite hat kein 4k.
enable_gifbooleanfalseDen Clip als animiertes GIF statt als MP4 zurückgeben. Nur 720p.
nsfw_checkbooleanfalsePrompt und Bilder vor der Generierung auf unsichere Inhalte prüfen.
image_urlsarrayNur Fast und Quality. Bis zu 3 öffentliche Bild-URLs.
generation_typeenumje nach BildanzahlNur Fast und Quality. frame oder reference; Quality nimmt nur frame.

Parameter: Modelle pro Sekunde

veo-3.1-fast-official und veo-3.1-quality-official.

FeldTypStandardwertHinweise
modelstringPflichtEine der zwei IDs oben.
promptstringPflichtBeschreibt die Einstellung.
negative_promptstringWas nicht in den Clip soll.
durationinteger84, 6 oder 8 Sekunden.
aspect_ratioenum16:916:9 oder 9:16.
resolutionenum720p720p, 1080p oder 4k (Groß-/Kleinschreibung egal).
first_frame_imagestringÖffentliche Bild-URL. Der Clip beginnt damit.
last_frame_imagestringÖffentliche Bild-URL. Erfordert first_frame_image.
seedintegerzufällig0 bis 4294967295.
generate_audiobooleanfalseEine Tonspur hinzufügen. Wird zu einem höheren Tarif pro Sekunde abgerechnet.
person_generationenumallow_adultallow_adult oder disallow.
resize_modeenumpadpad oder crop. Erfordert first_frame_image.
enhance_promptbooleantrueNur true wird akzeptiert; lass das Feld sonst weg.
nsfw_checkbooleanfalsePrompt und Bilder vor der Generierung auf unsichere Inhalte prüfen.

Das Schema ist strikt: Unbekannte Felder werden abgelehnt statt ignoriert, und jedes Modell nimmt nur seine eigenen Felder an. Callbacks sind nicht verfügbar; frag stattdessen die Aufgabe ab.

Bildmodi

Bei veo-3.1-fast und veo-3.1-quality legt generation_type fest, wie image_urls verwendet werden:

generation_typeBilderWirkung
frame1 oder 2Das erste Bild ist der erste Frame, das zweite der letzte Frame.
referencebis zu 3Die Bilder dienen als Referenzen für Motiv und Stil. Nur Fast.
weggelassen2 oder 3Zwei Bilder verwenden den Frame-Modus, drei den Referenzmodus.

veo-3.1-quality unterstützt keinen Referenzmodus und lehnt daher generation_type: "reference" sowie drei Bilder ohne generation_type ab. veo-3.1-lite nimmt keine Bilder an.

Bei den Modellen pro Sekunde setzt du first_frame_image und optional last_frame_image. resize_mode bestimmt, ob ein Bild mit anderem Format aufgefüllt oder zugeschnitten wird.

Medieneingaben

Bilder sind öffentliche HTTP(S)-URLs:

{ "image_urls": ["https://example.com/first.jpg", "https://example.com/last.jpg"] }

Bei den Modellen pro Clip ist jedes Bild JPEG, PNG oder WebP und höchstens 10 MB groß; eine Datei, die gegen diese Regeln verstößt, lässt die Aufgabe ohne Berechnung fehlschlagen. Base64-Daten werden nicht akzeptiert: Lade die Datei in deinen eigenen Speicher hoch und übergib ihre URL.

Kostenfaktoren

Die aktuellen Tarife findest du im Preisabschnitt des Modells.

per-clip models:    cost = price of one clip at the output resolution        (720p and 1080p cost the same)
per-second models:  cost = duration × rate for the resolution and audio setting

Der Betrag wird bei der Annahme der Anfrage festgelegt, sodass der reservierte Betrag dem berechneten entspricht. Die endgültigen Kosten siehst du im Nutzungsverlauf deines Kontos. Fehlgeschlagene Aufgaben werden nicht berechnet.

Ausgabeschema

Beim Senden wird die Aufgabe zurückgegeben:

{"id": "task_...", "model": "veo-3.1-fast", "status": "processing", "created_at": 1789689600}

Aufgabe abrufen

GET https://api.seedrouter.ai/v1/tasks/{task_id}

Frag alle 10–20 Sekunden ab, bis status den Wert completed oder failed hat. Eine Zeitüberschreitung des Netzwerks während der Abfrage bedeutet nicht, dass die Erzeugung fehlgeschlagen ist: Behalte die Aufgaben-ID und setze die Prüfung fort. Erstelle keine weitere Aufgabe, um den Fortschritt zu prüfen.

Abgeschlossene Aufgabe

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "completed",
  "created_at": 1789689600,
  "finished_at": 1789689720,
  "output": {
    "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
  }
}

video_url ist ein MP4 oder ein GIF, wenn die Anfrage enable_gif gesetzt hat. Der Link liegt auf dem Speicher von SeedRouter.

Was unsere Testläufe zurückgegeben haben (je ein Lauf, 2026-10-04):

AnfrageDatei
veo-3.1-fast, 9:16, Frame-ModusMP4, H.264, 720 × 1280, 24 fps, 8 s, mit einer Stereo-AAC-Tonspur
veo-3.1-fast-official, 16:9, 720p, 4 s, ohne generate_audioMP4, H.264, 1280 × 720, 24 fps, 4 s, ohne Tonspur
veo-3.1-lite, enable_gifGIF, 480 × 270, 16 fps, 8 s

Die Modelle pro Clip haben keinen Audio-Schalter; die Modelle pro Sekunde fügen nur mit generate_audio eine Tonspur hinzu.

Fehler

Anfragen, die vor der Erstellung einer Aufgabe abgelehnt werden, geben einen HTTP-Fehler mit einem error-Objekt zurück und werden nicht berechnet. Eine Aufgabe, die nach der Annahme fehlschlägt, gibt bei der Abfrage HTTP 200 zurück, zusammen mit status: "failed" und einem error-Objekt.

Codes, HTTP-Status und Hinweise zu Wiederholungen findest du im gemeinsamen Fehlerkatalog.

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "The request was rejected by the content policy. Please revise the prompt or input images."
  }
}

Kommt es beim Senden selbst zu einer Zeitüberschreitung, prüfe deine Aufgaben, bevor du erneut sendest: Die erste Anfrage wurde möglicherweise bereits angenommen.

Tipps

  • Beginne mit veo-3.1-lite oder veo-3.1-fast in 720p, um einen Prompt auszuprobieren, und wechsle für das finale Rendering zu Quality oder 4k.
  • Nenne Kamera und Licht: Ein Objektiv und eine Kamerabewegung verändern die Einstellung stärker als Adjektive.
  • Füge no text, no logos hinzu, um erfundene Schriftzüge und Zeichen aus dem Bild fernzuhalten.
  • Für eine Einstellung, die mit bekannten Bildern beginnen und enden muss, verwende den Frame-Modus mit zwei Bildern oder die Modelle pro Sekunde mit first_frame_image und last_frame_image.
  • Leg seed bei den Modellen pro Sekunde fest und ändere jeweils nur einen Satzteil, um eine Einstellung schrittweise zu verbessern.

Weiterführend