Guide d'utilisation
Utiliser les vidéos courtes Kling AI via l'API : workflow de bout en bout de génération de texte en vidéo avec kling-3.0-omni
Soumettez, interrogez et téléchargez des clips verticaux 9:16 avec audio synchronisé natif — chaque vidéo intégrée dans cet article est un rendu réel obtenu en une seule fois, accompagné de son prompt exact et de son coût.
La vidéo courte est un jeu de volume : les fils d'actualité récompensent les comptes qui publient chaque jour, et personne ne peut filmer, monter et concevoir le son d'un clip à la main chaque jour. kling-3.0-omni/text-to-video est l'un des rares modèles à couvrir l'intégralité de la liste de production d'une vidéo courte en un seul appel API — sortie verticale 9:16, mouvement cinématographique, séquences multi-plans et audio synchronisé natif — de sorte que toute la chaîne se résume à « écrire un prompt, interroger une tâche, télécharger un .mp4 prêt à publier ».
Ce guide parcourt de bout en bout le workflow sur l'API hiapi : soumettre une tâche asynchrone, concevoir des prompts qui retiennent l'attention pendant le défilement du fil, activer l'audio natif, étendre à un récit multi-plans et générer des variantes en lot. Chaque clip intégré ci-dessous est une sortie réelle de première génération, non montée, issue de l'API en production — généré pour cet article, avec le prompt et les réglages exacts affichés à côté.
Les outils que vous allez utiliser
kling-3.0-omni/text-to-video (Kling 3.0 Omni de Kuaishou, endpoint text-to-video) fonctionne sur l'interface de tâches asynchrones de hiapi. La facturation se fait à la seconde de sortie, selon la résolution et l'activation ou non de l'audio natif. Les tarifs ci-dessous proviennent de la page de tarification hiapi au moment de la rédaction :
| Palier | Prix par seconde | Clip de 5 secondes | Clip de 10 secondes |
|---|---|---|---|
| 720p | $0.10 | $0.50 | $1.00 |
| 720p + audio | $0.143 | $0.72 | $1.43 |
| 1080p | $0.129 | $0.65 | $1.29 |
| 1080p + audio | $0.193 | $0.97 | $1.93 |
| 4K | $0.479 | $2.40 | $4.79 |
Pour des vidéos verticales destinées aux fils d'actualité, le 720p est le choix honnête : TikTok et Reels recompressent tout de toute façon, et c'est la manière la moins chère d'itérer sur les prompts. Réservez le 1080p/4K aux clips que vous monterez dans d'autres formats.
Le schéma d'entrée que nous avons réellement validé dans cet article : prompt (chaîne), duration (entier en secondes — nous avons exécuté 5 et 10 secondes), resolution (720p / 1080p / 4K), aspect_ratio (9:16 pour le vertical) et sound (booléen, désactivé par défaut). Un comportement qu'il vaut la peine de connaître avant de construire dessus : lorsque vous omettez sound, le .mp4 renvoyé ne possède aucune piste audio — pas une piste silencieuse, mais aucune piste. Si votre pipeline de montage en aval attend un flux audio sur chaque fichier, soit définissez toujours sound: true, soit gérez explicitement les fichiers sans piste.
Soumettre → interroger → télécharger : le cycle de vie d'une tâche
Tout passe par POST /v1/tasks. Soumettez une tâche, récupérez immédiatement un identifiant de tâche, interrogez jusqu'à la fin, puis téléchargez la sortie. Un clip de 5 secondes en 720p se rend généralement en quelques minutes.
Soumettre avec curl :
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0-omni/text-to-video",
"input": {
"prompt": "Vertical short-form video. A barista in a sunlit specialty coffee bar pours a perfect rosetta latte art in one smooth motion, steam rising, morning light through the window, shallow depth of field, crisp photoreal detail, subtle slow push-in.",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16"
}
}'
La réponse revient immédiatement :
{"code": 200, "data": {"taskId": "tk-hiapi-01KWZYC1VKGV2CCSBK6AY9862H"}, "message": "success"}
Interrogez ensuite GET /v1/tasks/{taskId} jusqu'à ce que status vaille success (ou fail), puis téléchargez output[0].url. Voici un script Python complet — c'est exactement le modèle que nous avons utilisé pour générer chaque clip de ce guide :
import json, subprocess, time, os
API = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]
def submit(input_fields: dict) -> str:
payload = {"model": "kling-3.0-omni/text-to-video", "input": input_fields}
out = subprocess.run(
["curl", "-s", "-X", "POST", API,
"-H", f"Authorization: Bearer {TOKEN}",
"-H", "Content-Type: application/json",
"-d", json.dumps(payload)],
capture_output=True, text=True, timeout=70).stdout
return json.loads(out)["data"]["taskId"]
def wait(task_id: str, timeout_s: int = 900) -> dict:
deadline = time.time() + timeout_s
while time.time() < deadline:
out = subprocess.run(
["curl", "-s", f"{API}/{task_id}",
"-H", f"Authorization: Bearer {TOKEN}"],
capture_output=True, text=True, timeout=40).stdout
task = json.loads(out)["data"]
if task["status"] == "success":
return task
if task["status"] == "fail":
raise RuntimeError(f"task failed: {task.get('error')}")
time.sleep(8)
raise TimeoutError(task_id)
task_id = submit({
"prompt": "...",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16",
})
task = wait(task_id)
video_url = task["output"][0]["url"]
subprocess.run(["curl", "-s", "-o", "clip.mp4", video_url], timeout=120)
Un détail opérationnel important en production : l'output[0].url que vous obtenez est un lien signé à durée limitée (avec expiration). Téléchargez les octets dès que la tâche réussit et stockez-les dans votre propre bucket ou CDN — ne stockez jamais l'URL de tâche brute dans une base de données ou un CMS.
Concevoir des prompts pour un accroche de 3 secondes
Le succès d'une vidéo courte se joue sur ce qui apparaît dans la première seconde à l'écran. Le schéma de prompt qui fonctionne systématiquement pour un accroche verticale : un sujet, une action continue satisfaisante, une description explicite de la lumière, et un mouvement de caméra formulé en langage cinématographique. Voici le prompt exact de l'exemple curl ci-dessus, et le clip qu'il produit :
Vertical short-form video. A barista in a sunlit specialty coffee bar pours a
perfect rosetta latte art in one smooth motion, steam rising, morning light
through the window, shallow depth of field, crisp photoreal detail, subtle
slow push-in.
Sortie réelle — kling-3.0-omni/text-to-video, 5 s @ 720p, 9:16, sans audio. Première génération, non montée.
Le rôle de chaque élément :
- « Vertical short-form video » (vidéo courte verticale) placé au début ancre les décisions de composition, pas seulement le ratio de pixels — le modèle compose pour l'écran d'un téléphone.
- Une action continue (« pours ... in one smooth motion », soit « verse … en un seul geste fluide ») donne au modèle une seule trajectoire à rendre, sans introduire de coupes aléatoires.
- « Subtle slow push-in » (léger travelling avant lent) est une véritable instruction de caméra. Les mots d'humeur vagues (« dynamic », « engaging ») laissent le modèle improviser ; le vocabulaire cinématographique le maintient sur les rails.
- La lumière mérite une phrase entière (« morning light through the window », soit « lumière du matin à travers la fenêtre ») — la lumière fait la différence entre un « clip IA » et un « tournage en plateau réel ».
Audio natif : réglez sound: true et décrivez le paysage sonore
La fonction phare de Kling 3.0 Omni est l'audio synchronisé natif — le modèle rend une piste sonore correspondant à l'image, et pour le contenu culinaire, ASMR et de rue, c'est l'essentiel de la rétention. Deux choses doivent être faites en même temps : définir "sound": true dans l'entrée (facturé au tarif +audio, soit $0.143/s en 720p) et décrire l'audio dans le prompt comme vous décrivez l'image :
Vertical short-form video. Close-up of a street food vendor's wok at night:
diced garlic and chili hit sizzling oil with a burst of steam, flames lick up
the wok's edge as the vendor tosses noodles in rhythmic flips, neon signs
glowing bokeh in the background. Handheld feel, appetizing, high energy.
Native audio: loud sizzle, wok clangs, distant street chatter.
Sortie réelle — kling-3.0-omni/text-to-video, 5 s @ 720p, 9:16, sound: true. Montez le volume : le grésillement et les coups de wok sont tous générés par le modèle et synchronisés avec le geste de sauté.
Le schéma de suffixe « Native audio: » — une courte liste de deux ou trois sons clés séparés par des virgules — surpasse systématiquement les descriptions en prose du type « with realistic sound effects » (avec des effets sonores réalistes). Nommez les sons, et le modèle les synchronisera avec les événements visuels correspondants.
Nous avons vérifié la frontière de facturation sur des sorties réelles avec ffprobe : un clip soumis sans sound ne contient qu'un flux vidéo H.264, tandis qu'un clip avec sound: true porte une piste audio AAC supplémentaire. Vous ne payez le supplément audio que pour les clips qui demandent de l'audio.
Récit multi-plans dans un seul prompt
L'autre fonction différenciante d'Omni est la séquence multi-plans : vous pouvez écrire des coupes explicites dans une seule génération plutôt que de recoller trois clips séparés. Numérotez les plans dans le prompt et donnez à l'ensemble de la séquence un étalonnage partagé, pour qu'elle ressemble à un montage et non à un accident :
Vertical short-form video, three-shot sequence. Shot 1: a young woman in a
yellow rain jacket steps out of a subway exit into light rain, opens a clear
umbrella. Shot 2: close-up of her boots splashing through a neon-reflecting
puddle in slow motion. Shot 3: she stops at a food cart, smiles as warm steam
drifts past, city lights bokeh behind. Cohesive teal-and-amber grade,
cinematic handheld energy. Native audio: soft rain, city ambience, distant
traffic hum.
Sortie réelle — kling-3.0-omni/text-to-video, 10 s @ 720p, 9:16, sound: true. Trois plans scénarisés, une seule génération : $1.43.
Prévoyez environ trois secondes par plan — une durée de 10 secondes convient à une histoire en trois temps. L'ancre récurrente (l'imperméable jaune) est la clé pour garder une identité cohérente d'une coupe à l'autre ; donnez à chaque prompt multi-plans une constante visuelle marquante, sinon le sujet dérive entre les plans.
Production en lot : un modèle, plusieurs variantes
L'économie devient intéressante à l'échelle. Une semaine de publications quotidiennes, c'est un modèle de prompt à emplacements variables, soumis en concurrence — les tâches se rendent en parallèle, donc un lot se termine à peu près dans le temps d'un seul clip. Nous avons repris le modèle de l'accroche latte et remplacé le sujet :
Vertical short-form video. A ceramic bowl of matcha being whisked into a vivid
green froth with a bamboo whisk, in a sunlit specialty tea bar, steam rising,
morning light through the window, shallow depth of field, crisp photoreal
detail, subtle slow push-in.
Sortie réelle — même modèle que le clip latte, une seule variable modifiée. 5 s @ 720p, 9:16 : $0.50.
Le travelling avant, la lumière de fenêtre et la faible profondeur de champ sont conservés tels quels — exactement l'identité visuelle cohérente que vous voulez pour un compte. Dans le code, le lot consiste à soumettre avant d'attendre :
TEMPLATE = ("Vertical short-form video. {subject}, in a sunlit specialty {venue}, "
"steam rising, morning light through the window, shallow depth of field, "
"crisp photoreal detail, subtle slow push-in.")
VARIANTS = [
{"subject": "A barista pouring a perfect rosetta latte art in one smooth motion", "venue": "coffee bar"},
{"subject": "A ceramic bowl of matcha being whisked into a vivid green froth with a bamboo whisk", "venue": "tea bar"},
{"subject": "A croissant being pulled apart to reveal steaming, glossy layers", "venue": "bakery"},
]
task_ids = [submit({
"prompt": TEMPLATE.format(**v),
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16",
}) for v in VARIANTS] # all rendering in parallel
clips = [wait(tid) for tid in task_ids]
Planification des coûts en 720p : 30 clips d'accroche muets de 5 secondes par mois coûtent $15 ; le même mois avec audio natif coûte $21.45. Même avec un rythme agressif — un clip audio de 10 secondes par jour — cela ne fait que $42.90/mois, moins cher qu'une heure de temps d'un monteur vidéo. Interrogez les résultats au fur et à mesure qu'ils reviennent, et traitez l'état fail d'une tâche comme un nouvel essai de cette seule variante, pas de tout le lot.
L'ensemble du contenu de cet article a coûté $3.15 en génération vidéo : quatre clips, 25 secondes de séquences, tous réussis du premier coup.
Pour aller plus loin
Vous avez maintenant la boucle complète : soumettre une tâche 9:16, l'interroger, récupérer le .mp4 et étendre avec un modèle. Quelques pistes pour la suite :
- Obtenez une clé API et la référence complète des endpoints dans la documentation hiapi — le cycle de vie des tâches ci-dessus est identique pour tous les modèles vidéo de la plateforme.
- Avant de budgétiser un gros lot, consultez les tarifs par seconde actuels de tous les paliers sur la page de tarification.
- Si vous hésitez entre modèles pour ce cas d'usage, nous avons fait tourner le même workflow de vidéo courte sur un modèle économique dans Short-Form Video with seedance-2.0-mini — utile comme base de comparaison prix/qualité face à Kling.
Commencez par un clip d'essai à $0.50 sur votre propre sujet, conservez les éléments de prompt éprouvés par les fils d'actualité, puis transformez le modèle en tâches par lot sur la page du modèle kling-3.0-omni/text-to-video.
Articles similaires
Voir tous les articles →-
Guide d'utilisation
Guide de démarrage pour seedream-5.0-pro/image-to-image : capacités, tarification et points d'intégration
Limites de capacité, mode de facturation et pratiques d'intégration technique du modèle d'édition d'image de ByteDance
-
Guide d'utilisation
Guide de prise en main de la génération d'images par texte avec seedream-5.0-pro : limites de capacités, intégration API et maîtrise des coûts
Point de vue pratique pour les développeurs : des points clés des paramètres à l'estimation du coût de 0,05 $ par image
-
Guide d'utilisation
Guide de prise en main de Hailuo 2.3 Fast image-to-video : limites de capacités, tarification et intégration pratique
Points clés pour les développeurs : choisir et intégrer le modèle image-to-video de MiniMax