Luma
Ray 3.2
ray-3.2/image-to-video
Modèle de génération vidéo cinématographique Luma, avec prise en charge native de la HDR et de l'export EXR, adapté aux plans d'ambiance sans personnage ainsi qu'aux publicités et aux films conceptuels de préproduction audiovisuelle ; avec des instructions de plan structurées, le respect des prompts reste stable.
Tarifs
ray-3.2/image-to-video per video
| Spécifications | Prix unitaire |
|---|---|
| 540P | $0.2145 |
| 720P | $0.429 |
| 1080P | $1.7145 |
Présentation
Le modèle image-vers-vidéo Ray 3.2 utilise une image publique comme première image, associée à une description textuelle, pour générer un court métrage cinématographique ; le format de sortie suit automatiquement le ratio de l'image de première image. Il prend en charge une image de dernière image facultative, permettant à l'image de transiter de la première image vers un point final spécifié ; la résolution est au choix parmi 540p, 720p et 1080p, et le résultat est un clip de 5 secondes. Il convient aux développeurs et aux équipes de création qui souhaitent étendre un plan à partir d'une seule image clé, réaliser une prévisualisation conceptuelle ou créer des plans d'ambiance vides.
Points clés
- Double contrôle première/dernière image — vous pouvez fournir uniquement la première image ou ajouter une image de dernière image pour que la vidéo se termine sur un point final spécifié, rendant la trajectoire du plan plus contrôlable.
- Format suivant automatiquement la première image — le ratio de sortie est déterminé par l'image de première image, ce qui permet de s'aligner sur la composition des éléments existants sans réglage supplémentaire.
- Trois résolutions au choix — 540p, 720p et 1080p selon les besoins, pour répartir les coûts entre prévisualisation et rendu final.
Description des capacités
Image-vers-vidéo piloté par la première image : transmettez l'URL d'une image publique comme première image, puis décrivez le mouvement et la scène dans le prompt pour obtenir une vidéo de 5 secondes partant de cette image.
Contrainte de transition par dernière image : vous pouvez fournir facultativement une image de fin ; le modèle génère la transition de la première à la dernière image, ce qui convient pour contrôler le point d'arrivée du plan et la clôture de l'image.
Réponse aux prompts structurés : plus stable face à des descriptions de mouvement et de plan précises et structurées ; la limite du prompt est de 6000 caractères, ce qui permet d'inclure une description de plan assez complète.
Contrôle de la résolution et du format : la résolution de sortie est au choix parmi 540p, 720p et 1080p ; le ratio d'image hérite de la première image, ce qui réduit les recadrages ultérieurs.
Cas d'usage
- Prévisualisation conceptuelle : une image clé + description de plan — étendre une image conceptuelle ou une image clé de storyboard en un court plan de 5 secondes, pour la prévisualisation animée lors des phases de proposition cinématographique ou publicitaire.
- Plans d'ambiance vides : image de scène + description de mouvement environnemental — transformer une image de scène statique en élément de plan d'environnement, utilisé comme écran de fond, transition ou mise en ambiance.
- Enchaînement première/dernière image : deux images de début et de fin — à partir des images de début et de fin fournies, générer le segment de transition entre les deux, pour l'enchaînement des plans et le contrôle du rythme.
- Courts métrages marketing : image produit + prompt de mouvement — générer un court élément animé à partir d'une image produit comme première image, pour une production rapide de contenus sociaux et marketing.
Limites et conseils de sélection
Chaque génération produit un clip fixe de 5 secondes, sans durée plus longue possible ; la résolution maximale est de 1080p, ce qui ne convient pas aux plans longs ni à la production directe de masters haute résolution. Le résultat dépend de descriptions de mouvement et de scène précises et structurées ; les instructions vagues dégradent les performances, et la cohérence temporelle ainsi que la qualité du mouvement ne sont pas ses points forts. Si vous avez besoin de générer une vidéo directement à partir de texte, vous pouvez choisir un modèle texte-vers-vidéo de la même série ; si vous visez une durée de rendu plus longue, une évaluation séparée est nécessaire. La facturation se fait par vidéo.
Questions fréquentes
Voir toutes les questions →-
Quelles entrées sont nécessaires pour la génération vidéo à partir d'image avec Ray 3.2 ?
Deux champs obligatoires : prompt (1 à 6000 caractères) et image_url de la première image. end_image_url est facultatif pour l'image de fin, ainsi que resolution (540p, 720p, 1080p, par défaut 540p). Dans le Playground, vous pouvez téléverser directement une image locale.
-
Peut-on définir la durée d'une vidéo ?
Non. La génération de vidéo à partir d'une image produit systématiquement des clips de 5 secondes ; la requête n'a pas de paramètre duration. Pour un plan de 10 secondes, vous pouvez utiliser la génération de vidéo à partir de texte Ray 3.2, qui prend en charge 5 et 10 secondes.
-
Qu'est-ce qui détermine le ratio d'image de la sortie ?
Il est déterminé par la première image ; il n'y a pas de paramètre aspect_ratio. La sortie est alignée sur le ratio le plus proche parmi 16:9, 9:16, 1:1, 4:3, 3:4 et 21:9 ; si le ratio ne correspond pas exactement, les bords sont rognés. L'image d'origine de l'exemple du désert sur cette page est d'environ 3:2 (1024×687) et la sortie est en 4:3, soit 1104×832 ; l'image d'origine de l'exemple du café glacé est en 9:16 et la sortie est une vidéo verticale en 9:16, pratiquement sans rognage. Pour que le ratio de sortie soit entièrement contrôlable, il suffit de recadrer d'abord la première image selon l'un de ces six ratios.
-
Comment utiliser les images de début et de fin ?
Passez l'image de début dans image_url et l'image de fin dans end_image_url ; la vidéo effectuera une transition du début vers la fin, et le prompt n'a qu'à décrire le changement qui se produit entre les deux. Plus le cadrage, l'éclairage et la position du sujet des deux images sont proches, plus la transition est fluide ; lorsque le cadrage diffère, le modèle ajoute un mouvement de caméra pour assurer la continuité, comme dans le cas de la pivoine présenté sur cette page.
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 : ray-3.2/image-to-video
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour ray-3.2/image-to-video et la route default — voir le tableau des paramètres ci-dessous.
promptstringRequisminLength 1maxLength 6000Invite de texte décrivant le mouvement et le contenu de la scène à générer à partir de l'image d'entrée.
image_urlstringRequisURL publique d'une image servant de première image de la vidéo ; le rapport d'image de la vidéo de sortie est identique à celui de cette image.
resolutionstringOptionnelDéfaut: "540p"Résolution de la vidéo de sortie, 540p par défaut ; chaque vidéo dure 5 secondes.
540p720p1080pend_image_urlstringOptionnelURL publique facultative d'une image servant de dernière image de la vidéo ; la vidéo effectuera une transition de la première image vers cette image.
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": "ray-3.2/image-to-video",
"input": {
"prompt": "…",
"image_url": "…",
"resolution": "540p"
}
}' 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: "ray-3.2/image-to-video",
input: {
"prompt": "…",
"image_url": "…",
"resolution": "540p"
}
}),
});
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": "ray-3.2/image-to-video",
"input": {
"prompt": "…",
"image_url": "…",
"resolution": "540p"
}
},
)
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
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
-
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 kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
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
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
-
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 hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
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
-
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
Modèles associés
Voir tous les modèles →Même type
-
Veo 3.1 Lite Google $0.060 /seconde -
LTX 2.5 Fast Lightricks $0.086 /seconde -
Vidu Q3 Vidu $0.149 /seconde -
Kling 3.0 Turbo Kuaishou $0.130 /seconde -
Runway Gen 4.5 Runway $0.172 /seconde -
HappyHorse 1.1 Alibaba $0.160 /seconde -
Hailuo 2.3 MiniMax $0.270 /vidéo -
HeyGen Avatar V HeyGen $0.150 /seconde -
Wan 2.6 Flash Alibaba $0.043 /seconde -
HeyGen Avatar IV HeyGen $0.150 /seconde -
Wan 2.7 Video Alibaba $0.100 /seconde -
Kandinsky 6.0 Pro $1.93 /vidéo