Texte vers vidéo ou image vers vidéo : les cinq modes de l'API expliqués
La plupart des modèles vidéo acceptent plus qu'un prompt. Vous pouvez partir d'une image, fixer la première et la dernière image, passer des images de référence pour des personnages et des produits, ou travailler à partir d'un clip existant. Ce guide explique chaque mode, quand l'utiliser et comment l'appeler.
Les cinq modes en un coup d'œil
Tous les modes utilisent le même point de terminaison, POST /v1/generations. Ce qui change, c'est l'entrée que vous envoyez avec le prompt.
| Mode | Ce que vous envoyez | Idéal pour |
|---|---|---|
| Texte vers vidéo | a prompt | explorer des idées, des plans de coupe, des scènes pour lesquelles vous n'avez pas d'images |
| Image vers vidéo | une image de départ dans image_url, plus un prompt | animer des photos de produits, des illustrations et des images fixes avec un rendu exact |
| Première et dernière image | image_url et end_image_url, plus un prompt | transitions, révélations et plans qui doivent se terminer sur une image précise |
| Images de référence | plusieurs images dans image_urls, plus un prompt | garder cohérents des personnages, des produits et des lieux d'un plan à l'autre |
| Vidéo vers vidéo | un clip source, plus un prompt | changer le style ou retravailler des images que vous avez déjà |
Tous les modèles ne prennent pas en charge tous les modes. Le tableau de prise en charge ci-dessous couvre les principaux modèles, et la page de chaque modèle sur la page des modèles liste ses tâches.
Texte vers vidéo
Le texte vers vidéo est le mode le plus simple : vous décrivez le plan et le modèle décide de tout le reste, des visages au décor, en passant par les couleurs et le cadrage. Cette liberté est utile quand vous explorez des idées ou avez besoin d'images génériques, comme des plans de coupe, des plans d'ensemble ou des arrière-plans abstraits.
C'est le mauvais mode quand la vidéo doit montrer quelque chose de précis : votre produit, votre logo, une personne en particulier ou une mise en page qui doit respecter une charte graphique. Chaque génération réinvente ces détails : deux clips issus du même prompt ne se ressembleront donc pas.
Un bon prompt texte couvre le sujet, l'action, le décor, la caméra et la lumière, ainsi que le son si le modèle en génère. Notre guide de Seedance 2.0 donne d'autres conseils de prompt.
Image vers vidéo
Avec l'image vers vidéo, votre image devient la première image. Tout ce qu'elle contient (le produit, le visage, la composition et les couleurs) est fixé au départ, et le prompt n'a qu'à décrire la suite. C'est le mode pour animer des photos de produits, des illustrations et des visuels clés, et pour tout plan dont le rendu doit être exact.
Un flux de travail courant consiste à créer d'abord l'image fixe avec un modèle d'image comme Nano Banana Pro ou GPT Image 2, à la peaufiner, puis à l'animer. Les images fixes sont moins chères et plus rapides à itérer que la vidéo.
Voici une requête image vers vidéo pour Seedance 2.0 : un clip de 5 secondes en 720p avec son, qui coûte $0.75. Le format d'image adaptive adapte le cadre à la forme de votre image.
export REVANA_API_KEY="sr_live_..."
# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0",
"input": {
"prompt": "The coffee in the cup starts to steam, and a hand reaches in from the right and lifts the cup off the table. Morning light, quiet cafe ambience.",
"image_url": "https://example.com/coffee.jpg",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "adaptive",
"audio": true
},
"max_cost_usd": 2
}'
# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JBX7Q2M4 \
-H "Authorization: Bearer $REVANA_API_KEY"import os
import time
import requests
API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
resp = requests.post(f"{API}/generations", headers=HEADERS, json={
"model": "seedance-2.0",
"input": {
"prompt": "The coffee in the cup starts to steam, and a hand reaches in from the right and lifts the cup off the table. Morning light, quiet cafe ambience.",
"image_url": "https://example.com/coffee.jpg",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "adaptive",
"audio": True,
},
"max_cost_usd": 2,
})
resp.raise_for_status()
job = resp.json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()
if job["status"] == "succeeded":
print(job["output"]["urls"], job["cost_usd"])
else:
print("Failed:", job["error"])// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/generations`, {
method: "POST",
headers,
body: JSON.stringify({
model: "seedance-2.0",
input: {
prompt: "The coffee in the cup starts to steam, and a hand reaches in from the right and lifts the cup off the table. Morning light, quiet cafe ambience.",
image_url: "https://example.com/coffee.jpg",
resolution: "720p",
duration: 5,
aspect_ratio: "adaptive",
audio: true,
},
max_cost_usd: 2,
}),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 5000));
job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}
if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);Décrivez le mouvement, pas l'image : le modèle la voit déjà. « La vapeur monte et la tasse est soulevée » fonctionne mieux que répéter « une tasse blanche de café sur une table en bois ».
Première et dernière images
Ajoutez end_image_url et le modèle génère le mouvement entre deux images que vous choisissez. Comme la fin est fixée, ce mode convient aux transitions entre scènes, aux plans avant/après, aux révélations de produit et aux clips qui doivent s'enchaîner proprement avec le suivant. Pour une boucle, essayez la même image aux deux extrémités.
Les deux images doivent être des fins plausibles d'un même plan : même scène, même cadrage, même lumière. Si elles sont trop différentes, le modèle doit inventer un grand changement en quelques secondes, et les résultats deviennent moins prévisibles. Ce clip Kling 3.0 muet de 5 secondes en 1080p coûte $0.60 :
{
"model": "kling-3.0",
"input": {
"prompt": "Time-lapse: the empty plot fills with a small wooden cabin as the camera holds still, clouds racing overhead",
"image_url": "https://example.com/plot-empty.jpg",
"end_image_url": "https://example.com/plot-cabin.jpg",
"resolution": "1080p",
"duration": 5,
"audio": false
},
"max_cost_usd": 1
}Seedance 2.5, Seedance 2.0, Seedance 2.0 Mini, Veo 3.1, Veo 3.1 Fast, Veo 3.1 Lite, Kling 3.0, Kling 3.0 Omni, Wan 3.0 et Grok Imagine Video 1.5 listent la première et la dernière image dans le catalogue. Hailuo 2.3 accepte une image de départ mais pas d'image de fin.
Images de référence
Les images de référence ne sont pas des images de début ou de fin. Le modèle s'en sert pour apprendre à quoi ressemble une personne, un produit ou un lieu, puis les place dans un nouveau plan décrit par le prompt. Les références sont donc le mode de la cohérence : le même personnage sur dix plans, ou le même produit dans différents décors.
Envoyez les images dans image_urls et désignez chacune par sa position dans le prompt, par exemple « la femme de la première image tient le sac de la deuxième image ». La limite dépend du modèle : Seedance 2.5 en accepte jusqu'à 30, Wan 3.0 jusqu'à 10, Seedance 2.0 jusqu'à 9, Seedance 2.0 Mini jusqu'à 9, Veo 3.1 Fast jusqu'à 3 et Veo 3.1 Lite jusqu'à 3. Sur les modèles Seedance, envoyez des images de début/fin ou des références dans une requête, pas les deux.
Cette requête Veo 3.1 Fast de 8 secondes en 720p avec son coûte $0.80 :
{
"model": "veo-3.1-fast",
"input": {
"prompt": "The man from the first image walks into the bakery from the second image, picks up a loaf and smiles at the camera. Bell over the door, quiet chatter.",
"image_urls": [
"https://example.com/man.jpg",
"https://example.com/bakery.jpg"
],
"resolution": "720p",
"duration": 8,
"aspect_ratio": "16:9",
"audio": true
},
"max_cost_usd": 1.5
}Vidéo vers vidéo
La vidéo vers vidéo part d'un clip que vous avez déjà. La source guide le mouvement et le rythme, et le prompt décrit ce qui doit changer : un nouveau style, un nouveau décor ou des détails différents. Elle convient pour changer le style de prises de vues réelles, retravailler une génération précédente, ou conserver une interprétation tout en changeant le rendu.
Parmi les modèles de ce guide, Seedance 2.5, Kling 3.0 Omni et Wan 3.0 listent la vidéo vers vidéo, et Kling 3.0 Motion Control fonctionne aussi à partir d'une vidéo source. Les entrées pour un clip source varient selon le modèle : consultez donc la page du modèle avant de construire dessus.
Les tâches avec une vidéo en entrée sont tarifées différemment sur certains modèles. Sur Seedance 2.5, les secondes facturées sont celles de la sortie plus celles du clip d'entrée, au tarif plus bas avec vidéo en entrée : un clip de 10 secondes en 720p créé à partir d'une source de 10 secondes coûte $3.00, contre $2.50 pour le même clip issu d'un prompt. Kling 3.0 Omni liste son propre tarif pour les tâches avec une vidéo en entrée, $0.13 la seconde en 720p.
Quels modèles prennent en charge quel mode
D'après le catalogue Revana en octobre 2026 :
| Modèle | Texte | Image | Première et dernière | Références | Vidéo |
|---|---|---|---|---|---|
| Seedance 2.5 | yes | yes | yes | yes | yes |
| Seedance 2.0 | yes | yes | yes | yes | no |
| Seedance 2.0 Mini | yes | yes | yes | yes | no |
| Veo 3.1 | yes | yes | yes | no | no |
| Veo 3.1 Fast | yes | yes | yes | yes | no |
| Veo 3.1 Lite | yes | yes | yes | yes | no |
| Kling 3.0 | yes | yes | yes | no | no |
| Kling 3.0 Omni | yes | yes | yes | yes | yes |
| Wan 3.0 | yes | yes | yes | yes | yes |
| Hailuo 2.3 | yes | yes | no | no | no |
| Grok Imagine Video 1.5 | yes | yes | yes | yes | no |
Le mode change-t-il le prix ?
Presque jamais. Les modèles vidéo sont facturés selon les secondes de sortie, la résolution et, pour certains, le son. Un clip Seedance 2.0 de 5 secondes en 720p coûte $0.75 qu'il parte d'un prompt ou d'une image, et ajouter une image de fin ou des images de référence ne change pas le prix du catalogue. L'exception est la vidéo en entrée, abordée plus haut.
Le prix de chaque tâche est bloqué sur votre solde prépayé à l'envoi et n'est débité que si la tâche réussit. La page des tarifs liste chaque tarif.
Comment choisir un mode
- Pas encore de ressources : commencez par le texte vers vidéo, ou créez une image fixe avec un modèle d'image et animez-la.
- Le rendu doit être exact : image vers vidéo, à partir d'une image que vous avez validée.
- La fin compte : première et dernière image.
- Le même personnage ou produit sur de nombreux plans : images de référence.
- Vous avez déjà des images : vidéo vers vidéo.
Un champ ou une valeur qu'un modèle ne prend pas en charge est rejeté avec 422 avant que quoi que ce soit ne soit facturé : un mauvais mode ne coûte donc rien. Référence complète des champs : la documentation.
Prêt à les essayer ? Obtenez une clé API et envoyez votre première requête.
Questions fréquentes
Quelle est la différence entre texte vers vidéo et image vers vidéo ?
Le texte vers vidéo part d'un prompt seul : le modèle invente donc tout dans le plan. L'image vers vidéo utilise votre image comme première image : le rendu est donc fixé et le prompt ne décrit que le mouvement.
L'image vers vidéo coûte-t-elle plus cher que le texte vers vidéo ?
Pas d'après les prix du catalogue. Les modèles vidéo sont facturés selon les secondes de sortie, la résolution et, pour certains, le son. Un clip Seedance 2.0 de 5 secondes en 720p coûte $0.75 dans les deux cas en octobre 2026.
Que sont les images de début et de fin ?
Vous envoyez une image de départ dans image_url et une image de fin dans end_image_url, et le modèle génère le mouvement entre les deux. C'est utile pour les transitions, les révélations et les boucles.
Combien d'images de référence puis-je envoyer ?
Cela dépend du modèle : Seedance 2.5 jusqu'à 30, Wan 3.0 jusqu'à 10, Seedance 2.0 jusqu'à 9, Seedance 2.0 Mini jusqu'à 9, Veo 3.1 Fast jusqu'à 3 et Veo 3.1 Lite jusqu'à 3.
Puis-je combiner une image de départ avec des images de référence ?
Pas sur les modèles Seedance : envoyez des images de début/fin ou des références dans une requête, pas les deux.
Quels modèles prennent en charge la vidéo vers vidéo ?
Parmi les principaux modèles, Seedance 2.5, Kling 3.0 Omni et Wan 3.0 listent la vidéo vers vidéo, tout comme Kling 3.0 Motion Control. La page des modèles liste les tâches de chaque modèle.
Essayez tous les modes avec une seule clé
Les tâches texte, image, images de début/fin et références utilisent toutes la même requête sur Revana. Crédit prépayé à partir de $10.