Veo 3.1
veo-3.1/image-to-video
Modèle de génération vidéo de Google : à partir d'une image en entrée, il génère nativement une vidéo de 8 secondes avec son ambiant et dialogues, jusqu'à la 4K, tout en préservant la cohérence de l'apparence du sujet
Essayer veo-3.1/image-to-video
Entrée
Créations
Voir toutes les créationsSortie
videoTarifs
veo-3.1/image-to-video per second
Présentation
Le parcours image-vers-vidéo de Veo 3.1 est la version pilotée par image du modèle de génération vidéo de Google sur HiAPI.ai : il reçoit une image et une invite textuelle, et produit une vidéo animée avec une piste audio native. Il excelle à contrôler le mouvement de caméra et l'évolution de la scène tout en préservant l'apparence du sujet de l'image d'entrée ; il convient aux développeurs qui doivent transformer rapidement des visuels statiques en clips lisibles, pour la publicité, les réseaux sociaux et le prévisualisation de concepts.
Points clés
- Génération native synchronisée image-son — la vidéo est générée avec les sons d'ambiance, les dialogues et les effets sonores, ce qui réduit les étapes de doublage et de synthèse sonore en post-production.
- Résolution jusqu'à 4K en option — la sortie prend en charge 720p, 1080p et 4k, avec un cadrage 16:9 ou 9:16 automatiquement aligné sur l'image d'entrée ou spécifié manuellement.
- Durée et audio contrôlables — la durée est réglable sur 4, 6 ou 8 secondes, la piste audio peut être activée ou désactivée, ce qui permet d'ajuster les spécifications selon le canal de diffusion et le budget.
- Prise en charge des invites négatives et des graines fixes — negative_prompt permet d'exclure des éléments indésirables, et seed permet de reproduire des résultats de génération similaires.
Description des capacités
Génération d'animation pilotée par image : à partir d'une image et d'une invite décrivant le mouvement (jusqu'à 20000 caractères), le modèle produit un clip vidéo de 4 à 8 secondes, idéal pour convertir directement des visuels existants en contenu animé.
Génération de piste audio native : l'audio natif est généré par défaut ; désactiver generate_audio permet d'obtenir une vidéo muette, utile pour ajouter soi-même musique ou doublage en post-production.
Contrôle de la résolution et du cadrage : la sortie peut être spécifiée en 720p, 1080p ou 4k, et le cadrage peut suivre automatiquement l'image d'entrée ou être forcé en 16:9 ou 9:16, pour s'adapter aux diffusions horizontales et verticales.
Contrôle des résultats de génération : negative_prompt décrit les contenus à éviter, et seed fixe la graine aléatoire, ce qui facilite la stabilité stylistique ou les comparaisons A/B lors de générations par lots.
Cas d'usage
- Les équipes marketing transforment des photos produit en spots publicitaires — en saisissant une image statique du produit et une description du mouvement, elles obtiennent un clip horizontal en 4K ou 1080p, directement utilisable pour la publicité en ligne et la présentation sur le site web.
- Les community managers créent des contenus animés verticaux — avec une image verticale et une invite, ils génèrent une vidéo 9:16 avec sons natifs, à publier comme matériel sur les plateformes de vidéos courtes.
- La préproduction cinématographique transforme des concept arts en prévisualisations animées — les storyboards ou les designs conceptuels sont générés en clips animés, ce qui aide l'équipe à valider le mouvement de caméra et l'ambiance avant la production finale.
- Les développeurs génèrent des ressources animées par lots — dans un pipeline programmatique, ils fournissent images et invites, et produisent par lots, avec seed, des clips au style homogène pour des tests ou du remplissage de contenu.
Limites et conseils de sélection
La durée maximale d'une génération est de 8 secondes ; une narration plus longue nécessite une génération par segments puis un assemblage, et la cohérence entre plusieurs plans reste à orchestrer manuellement. L'image d'entrée est idéalement en 720p ou plus et au format 16:9 ou 9:16 ; les autres ratios sont recadrés. La résolution et l'activation de l'audio influent sur la facturation : il est conseillé de faire un essai à faible spécification avant les générations par lots. Pour construire une scène à partir de zéro plutôt que d'animer une image existante, il faut choisir le parcours texte-vers-vidéo de la même famille.
Questions fréquentes
Voir toutes les questions →-
Quel type de modèle vidéo est Veo 3.1 Text to Video ?
Il s'agit d'une solution de génération de vidéo à partir de texte uniquement : il suffit d'un Prompt textuel, sans besoin de téléverser une image de départ.
-
Quelles sont les spécifications de sortie prises en charge par Veo 3.1 Text to Video ?
Durée de 4 à 8 secondes, résolutions 720p, 1080p et 4k, formats d'image 16:9 et 9:16.
-
Peut-on générer de la voix ou utiliser une référence audio ?
La génération audio est activée par défaut
-
Comment Veo 3.1 Text to Video est-il facturé ?
La facturation est basée sur la durée de sortie et le niveau en temps réel ; les différences dues à la résolution, au mode ou aux options audio sont déterminées par le prix affiché sur la page et l'historique des tâches.
Créer une tâche de génération
https://api.hiapi.ai/v1/tasks En-têtes
AuthorizationstringRequisClé API du compte. Requise sur chaque requête. Exemple : Bearer YOUR_HIAPI_API_KEY. Obtenir une clé API
Content-TypestringOptionnelLe corps de la requête est toujours analysé en JSON ; s'il est envoyé, seul application/json (charset facultatif) est accepté — toute autre valeur renvoie 415. Exemple : application/json.
Idempotency-KeystringOptionnelClé d'idempotence, jusqu'à 255 octets. Les reprises avec la même clé du même compte ne créent la tâche qu'une seule fois ; les rejeux renvoient le taskId d'origine.
En cas de timeout réseau ou de relance automatique du client, la même clé ne crée la tâche qu'une seule fois, sans double facturation (portée = le compte de la clé API). Utilisez un identifiant métier unique (ex. "order-42") ; les rejeux renvoient le taskId d'origine et les clés expirent 24 h après la première requête. La matrice complète des scénarios est dans la présentation de l'API asynchrone unifiée.
Corps
modelstringRequisValeur fixe actuelle : veo-3.1/image-to-video
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour veo-3.1/image-to-video et la route default — voir le tableau des paramètres ci-dessous.
seedintegerOptionnelGraine aléatoire permettant de reproduire le résultat de la génération ; en utilisant la même graine, vous obtenez une sortie identique.
promptstringRequisminLength 1maxLength 20000Invite textuelle décrivant de quelle manière l'image d'entrée doit s'animer.
durationintegerRequisDéfaut: 8min 4max 8Durée de la vidéo générée (en secondes) ; le coût augmente avec la durée ; 8 secondes par défaut.
468image_urlstringRequisURL de l'image d'entrée à animer ; il est recommandé d'utiliser une résolution de 720p ou plus et un format 16:9 ou 9:16, les autres formats seront recadrés.
resolutionstringRequisDéfaut: "720p"Résolution de la vidéo de sortie ; plus la résolution est élevée, plus le coût est important ; 720p par défaut.
720p1080p4kaspect_ratiostringOptionnelDéfaut: "auto"Rapport largeur/hauteur de la vidéo de sortie ; auto par défaut, ce qui signifie qu'il suit le rapport largeur/hauteur de l'image d'entrée.
auto16:99:16generate_audiobooleanOptionnelDéfaut: trueIndique s'il faut générer une piste audio native ; lorsque cette option est activée, la tarification est plus élevée ; activée par défaut.
negative_promptstringOptionnelInvite négative décrivant le contenu à éviter dans la vidéo générée.
callbackobjectOptionnel
Configuration de notification d'état terminal. Sans elle, aucun callback — interrogez la tâche vous-même.
Fournissez callback.url à la création et HiAPI envoie un POST à votre service à l'état terminal — plus besoin de polling. Le corps du rappel reprend la structure du détail de tâche ; vérification de signature, relances et idempotence sont décrits dans la présentation de l'API asynchrone unifiée.
urlstringRequisObligatoire si callback est présent. Un POST est envoyé vers cette URL à l'état terminal ; doit être une URL http(s) valide.
whenstringOptionnelDéfaut: "final"Seul final est pris en charge pour l'instant — notifié sur success et fail.
finalstoragestringOptionnelDéfaut: "temp"Niveau de stockage des artefacts : temp (par défaut, ~7 jours) ou persistent (long terme, facturé au volume). Solde insuffisant ou dépassement de limite ⇒ rétrogradation silencieuse en temp ; le niveau effectif figure dans la réponse de détail.
temppersistentExemples de requête
# Soumet une tâche asynchrone ; renvoie immédiatement un taskId (n'attend pas la génération)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1/image-to-video",
"input": {
"prompt": "…",
"duration": 8,
"image_url": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "veo-3.1/image-to-video",
input: {
"prompt": "…",
"duration": 8,
"image_url": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "veo-3.1/image-to-video",
"input": {
"prompt": "…",
"duration": 8,
"image_url": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": True
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtenir le détail de la tâche
https://api.hiapi.ai/v1/tasks/:id Champs de réponse
taskIdstringRequisIdentifiant de tâche, toujours préfixé tk-hiapi-.
modelstringRequisNom complet résolu du modèle. Les tâches envoyées avec le paramètre route renvoient base@route (ex. gpt-image-2/text-to-image@ext) ; sinon identique au nom fourni.
routestringOptionnelPrésent uniquement si le paramètre route explicite a été utilisé ; renvoie la valeur soumise.
statusstringRequisStatut de la tâche.
queued En file, pas encore démarrée.
handling En cours de traitement.
archiving Traitement terminé, préparation des artefacts.
success Terminal : terminé, artefacts disponibles (output renvoyé).
fail Terminal : échec (error renvoyé).
Après soumission, suivez status : success et fail sont terminaux, le reste non terminal. Interrogez toutes les 1–3 s jusqu'à l'état terminal. En cas de succès, téléchargez les artefacts via output[].url et transférez-les avant expireAt ; pour une conservation longue durée, indiquez storage: "persistent" à la création.
creatednumberRequisDate de création de la tâche (secondes Unix).
completednumberRequisSecondes Unix de l'état terminal ; 0 tant que non terminal.
outputarrayOptionnel
Présent uniquement si status == success. Liste d'artefacts — toujours un tableau ; une tâche peut renvoyer plusieurs types à la fois (ex. video + first_frame).
Array [ object ]
Éléments du tableau
urlstringRequisURL de l'artefact, téléchargeable directement.
typestringRequisValeurs possibles actuelles : video, image, audio, first_frame, last_frame, thumbnail ; d'autres pourront s'ajouter.
expireAtnumberRequisSecondes Unix de disponibilité de l'artefact ; téléchargez ou transférez avant l'expiration.
errorobjectOptionnel
Présent uniquement si status == fail.
codestringRequisCode d'erreur métier.
messagestringRequisDescription de l'erreur.
Exemples de réponse
Succès
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En cours (non terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Échec
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
Voir tous les articles →-
Tutoriel
Comment utiliser kling-4.0/text-to-video via l'API HiAPI : curl, Python et un exemple de requête fonctionnel
Guide pratique pour les développeurs : prompts cinématographiques, audio synchronisé, interrogation asynchrone et téléchargement des sorties
-
Comparatif et évaluation
Comparatif horizontal de Recraft v4.1 Flash en génération d'images à partir de texte : guide de sélection et de migration pour les développeurs
Avec un coût de 0,01 $ par image et ses capacités de génération pure à partir de texte, déterminez s'il convient à votre pipeline de génération d'images
-
Tutoriel
recraft-v4.1-flash génération d'images texte-à-image en pratique : 5 scénarios métier à forte valeur et points d'intégration clés
À partir d'un coût de 0,01 $ par image, planifier le déploiement de la génération d'images dans de vrais contextes métier
-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Comparatif et évaluation
Comparatif transversal de hailuo-2.3-fast/image-to-video : comment choisir un modèle image-to-video et les points clés de migration
-
Tutoriel
Tutoriel pour kandinsky-6.0-pro/image-to-video sur HiAPI : curl + Python
Lancer une requête image-vers-vidéo exploitable sur HiAPI : de l'envoi de la première image à l'interrogation asynchrone jusqu'au téléchargement final
-
Tutoriel
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat
Modèles associés
Voir tous les modèles →Même type
-
HeyGen Avatar IV HeyGen $0.150 /seconde -
FLUX 3 Video Black Forest Labs $0.090 /seconde -
Kandinsky 6.0 Pro $1.93 /vidéo -
Kling 2.5 Kuaishou $0.060 /seconde -
PixVerse V6 PixVerse $0.036 /seconde -
Gemini Omni 1.1 Flash Google $0.450 /vidéo -
Seedance 2.5 ByteDance $0.121 /seconde -
Veo 3.1 Fast Google $0.170 /seconde -
Kling 4.0 Kuaishou $0.330 /seconde -
Hailuo 2.3 MiniMax $0.270 /vidéo -
Gemini Omni Google -- -
Grok Imagine 1.5 Lite xAI $0.029 /seconde
Même fournisseur
-
Nano Banana Pro Google $0.057 /image -
Gemini 3.1 Flash TTS Google -- -
Lyria 3 Pro Google $0.140 /morceau -
Nano Banana Google $0.021 /image -
Gemini Omni Google -- -
Imagen 4 Google $0.030 /image -
Lyria 3.5 Google $0.090 /morceau -
Gemini Omni 1.1 Flash Google $0.450 /vidéo -
Google Virtual Try-On Google $0.107 /image -
Veo 3.1 Lite Google $0.060 /seconde -
Veo 3.1 Fast Google $0.170 /seconde -
Nano Banana 2 Google $0.036 /image



