Claude Opus 5.5 est disponible sur SeedRouter
SeedRouter Docs

Veo 3.1

Générez des clips vidéo Veo 3.1 via une seule API de tâches : trois modèles facturés par clip de 8 secondes et deux à la seconde, avec images clés, audio et sortie GIF.

View Markdown

Veo 3.1 est le modèle de génération vidéo de Google. SeedRouter le propose sous cinq ID de modèle sur un seul point de terminaison : trois facturés au clip, chaque clip durant 8 secondes, et deux facturés à la seconde avec davantage de réglages (durée, audio, seed, prompt négatif, première et dernière image). Envoyez la requête, conservez l'identifiant de tâche renvoyé et récupérez la vidéo terminée dans la tâche. Les images sont transmises sous forme d'URL.

ID de modèle

ID de modèleFacturationDuréeImagesAudio
veo-3.1-fastau clip8 secondesjusqu'à 3, mode images clés ou référencespas d'option
veo-3.1-qualityau clip8 secondesjusqu'à 3, mode images cléspas d'option
veo-3.1-liteau clip8 secondesaucune (texte vers vidéo)pas d'option
veo-3.1-fast-officialà la seconde4, 6 ou 8 secondespremière et dernière imagegenerate_audio
veo-3.1-quality-officialà la seconde4, 6 ou 8 secondespremière et dernière imagegenerate_audio

Consultez la page du modèle pour les prix actuels.

Exemple rapide

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"
  }'

Point de terminaison

POST https://api.seedrouter.ai/v1/videos/generations
En-têteValeur
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

La réponse est une tâche ({"id": "task_...", "status": "processing"}), pas la vidéo terminée. Interrogez GET /v1/tasks/{task_id} pour obtenir le résultat. Conservez les clés API dans du code côté serveur.

Paramètres : modèles au clip

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

ChampTypeDéfautRemarques
modelstringobligatoireL'un des trois ID ci-dessus.
promptstringobligatoireDécrit le plan.
durationinteger8Seul 8 est accepté.
aspect_ratioenum16:9 ou 9:16.
resolutionenum720p720p, 1080p ou 4k (casse indifférente). veo-3.1-lite n'a pas de 4k.
enable_gifbooleanfalseRenvoie le clip en GIF animé au lieu d'un MP4. 720p uniquement.
nsfw_checkbooleanfalseVérifie le prompt et les images à la recherche de contenu inapproprié avant la génération.
image_urlsarrayFast et Quality uniquement. Jusqu'à 3 URL d'images publiques.
generation_typeenumselon le nombre d'imagesFast et Quality uniquement. frame ou reference ; Quality accepte uniquement frame.

Paramètres : modèles à la seconde

veo-3.1-fast-official et veo-3.1-quality-official.

ChampTypeDéfautRemarques
modelstringobligatoireL'un des deux ID ci-dessus.
promptstringobligatoireDécrit le plan.
negative_promptstringCe qui doit rester hors du clip.
durationinteger84, 6 ou 8 secondes.
aspect_ratioenum16:916:9 ou 9:16.
resolutionenum720p720p, 1080p ou 4k (casse indifférente).
first_frame_imagestringURL d'image publique. Le clip commence sur cette image.
last_frame_imagestringURL d'image publique. Nécessite first_frame_image.
seedintegeraléatoireDe 0 à 4294967295.
generate_audiobooleanfalseAjoute une piste audio. Facturé à un tarif à la seconde plus élevé.
person_generationenumallow_adultallow_adult ou disallow.
resize_modeenumpadpad ou crop. Nécessite first_frame_image.
enhance_promptbooleantrueSeul true est accepté ; sinon, omettez le champ.
nsfw_checkbooleanfalseVérifie le prompt et les images à la recherche de contenu inapproprié avant la génération.

Le schéma est strict : les champs inconnus sont rejetés au lieu d'être ignorés, et chaque modèle n'accepte que ses propres champs. Les callbacks ne sont pas disponibles ; interrogez plutôt la tâche.

Modes image

Sur veo-3.1-fast et veo-3.1-quality, generation_type détermine l'usage des image_urls :

generation_typeImagesEffet
frame1 ou 2La première image est la première image du clip, la deuxième la dernière.
referencejusqu'à 3Les images servent de références pour le sujet et le style. Fast uniquement.
omis2 ou 3Deux images utilisent le mode images clés, trois le mode références.

veo-3.1-quality ne gère pas le mode références : il refuse donc generation_type: "reference" ainsi que trois images sans generation_type. veo-3.1-lite n'accepte aucune image.

Sur les modèles à la seconde, définissez first_frame_image et, si vous le souhaitez, last_frame_image. resize_mode choisit si une image d'un autre format est complétée par des bandes ou recadrée.

Entrées média

Les images sont des URL HTTP(S) publiques :

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

Sur les modèles au clip, chaque image est au format JPEG, PNG ou WebP et pèse au maximum 10 Mo ; un fichier qui ne respecte pas ces règles fait échouer la tâche sans facturation. Les données en base64 ne sont pas acceptées : téléversez le fichier sur votre propre stockage et transmettez son URL.

Facteurs de coût

Consultez la section des prix du modèle pour les tarifs actuels.

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

Le montant est fixé à l'acceptation de la requête : le montant réservé est donc le montant facturé. Consultez les montants finaux dans l'historique d'utilisation de votre compte. Les tâches échouées ne sont pas facturées.

Schéma de sortie

L'envoi renvoie la tâche :

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

Récupérer la tâche

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

Interrogez toutes les 10 à 20 secondes jusqu'à ce que status vaille completed ou failed. Un dépassement de délai réseau pendant l'interrogation ne signifie pas que la génération a échoué : conservez l'identifiant de tâche et reprenez la vérification. Ne créez pas une autre tâche pour vérifier l'avancement.

Tâche terminée

{
  "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 est un MP4, ou un GIF si la requête a défini enable_gif. Le lien pointe vers le stockage de SeedRouter.

Ce que nos tests ont renvoyé (un essai chacun, 2026-10-04) :

RequêteFichier
veo-3.1-fast, 9:16, mode images clésMP4, H.264, 720 × 1280, 24 fps, 8 s, avec une piste audio AAC stéréo
veo-3.1-fast-official, 16:9, 720p, 4 s, sans generate_audioMP4, H.264, 1280 × 720, 24 fps, 4 s, sans piste audio
veo-3.1-lite, enable_gifGIF, 480 × 270, 16 fps, 8 s

Les modèles au clip n'ont pas d'option audio ; les modèles à la seconde n'ajoutent une piste audio qu'avec generate_audio.

Erreurs

Les requêtes rejetées avant la création d'une tâche renvoient une erreur HTTP avec un objet error et ne sont pas facturées. Une tâche qui échoue après acceptation renvoie HTTP 200 lorsqu'on l'interroge, avec status: "failed" et un objet error.

Voir le catalogue d'erreurs commun pour les codes, les statuts HTTP et les conseils de reprise.

{
  "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."
  }
}

Si l'envoi lui-même dépasse le délai, vérifiez vos tâches avant de renvoyer : la première requête a peut-être été acceptée.

Conseils

  • Commencez avec veo-3.1-lite ou veo-3.1-fast en 720p pour tester un prompt, puis passez à Quality ou à la 4k pour le rendu final.
  • Nommez la caméra et la lumière : un objectif et un mouvement de caméra changent davantage le plan que des adjectifs.
  • Ajoutez no text, no logos pour éviter les lettrages et marques inventés dans le cadre.
  • Pour un plan qui doit commencer et finir sur des images connues, utilisez le mode images clés avec deux images, ou les modèles à la seconde avec first_frame_image et last_frame_image.
  • Fixez seed sur les modèles à la seconde et modifiez une seule proposition à la fois pour faire évoluer un plan.

Ressources liées