Utilisez l'API RunComfy pour exécuter kling/kling-video-o3/standard/text-to-video. Pour les entrées et sorties acceptées, voir le schéma.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o3/standard/text-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Cinematic wide shot of a lone astronaut walking across a glowing crystal canyon at dusk, slow tracking dolly, volumetric god rays, photoreal detail."
}'Définissez la variable d'environnement YOUR_API_TOKEN avec votre clé API (gestion dans Profil) et incluez à chaque requête un jeton Bearer dans l'en-tête Authorization : Authorization: Bearer $YOUR_API_TOKEN.
Soumettez une tâche de génération asynchrone et recevez immédiatement un request_id ainsi que des URLs pour le statut, les résultats et l'annulation.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o3/standard/text-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Cinematic wide shot of a lone astronaut walking across a glowing crystal canyon at dusk, slow tracking dolly, volumetric god rays, photoreal detail."
}'Récupère l'état actuel pour un request_id (« in_queue », « in_progress », « completed » ou « cancelled »).
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Récupère les sorties finales et métadonnées pour le request_id ; si le travail n'est pas terminé, la réponse indique l'état actuel pour poursuivre le polling.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Annule un travail en file d'attente via request_id ; les travaux en cours ne peuvent pas être annulés.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"Fournissez une URL HTTPS accessible publiquement. L'hôte doit autoriser les récupérations côté serveur (sans login/cookies), sans limitation de débit ni blocage des bots. Recommandé : images ≤ 50 Mo (~4K), vidéos ≤ 100 Mo (~2–5 min en 720p). Préférez des URL stables ou pré-signées pour les actifs privés.
{
"type": "object",
"title": "Schéma d'entrée",
"required": [
"prompt"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Description textuelle de la scène, du sujet, du mouvement, de la caméra et de l’atmosphère à générer.",
"type": "string",
"default": "Cinematic wide shot of a lone astronaut walking across a glowing crystal canyon at dusk, slow tracking dolly, volumetric god rays, photoreal detail."
},
"aspect_ratio": {
"title": "Format d’image (L:H)",
"description": "Format de la sortie : 16:9 pour le paysage, 9:16 pour les vidéos sociales verticales et 1:1 pour le carré.",
"type": "string",
"enum": [
"16:9",
"9:16",
"1:1"
],
"default": "16:9"
},
"duration": {
"title": "Durée (secondes)",
"description": "Durée de la séquence générée, en secondes (3-15).",
"type": "integer",
"minimum": 3,
"maximum": 15,
"default": 5
},
"sound": {
"title": "Générer le son",
"description": "Si cette option est activée, un son synchronisé est généré avec la vidéo. Le coût à la seconde augmente d’environ 33%.",
"type": "boolean",
"default": false
},
"shot_type": {
"title": "Type de plan",
"description": "Mode de réalisation. Utilisez intelligent pour laisser le modèle décider du découpage et du rythme, ou customize pour les piloter manuellement par le prompt.",
"type": "string",
"enum": [
"customize",
"intelligent"
],
"default": "customize"
},
"multi_prompt": {
"title": "Prompts multiples",
"description": "Segments de prompt supplémentaires destinés à guider les transitions et l’évolution de la scène. La somme des durées de multi_prompt doit correspondre à la durée totale de la vidéo.",
"type": "array",
"items": {
"prompt": {
"title": "Prompt",
"description": "Segment de prompt supplémentaire destiné à guider une transition ou une évolution de la scène.",
"type": "string",
"format": "str"
},
"duration": {
"title": "Durée",
"description": "Durée du segment de prompt, en secondes.",
"type": "integer",
"format": "int_slider_with_range",
"minimum": 3,
"maximum": 15,
"default": 5
}
},
"maxItems": 20,
"minItems": 0
}
}
}{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "URL d'une seule image"
},
"video": {
"type": "string",
"format": "uri",
"description": "URL d'une seule vidéo"
},
"images": {
"type": "array",
"description": "plusieurs URLs d'images",
"items": {
"type": "string",
"format": "uri"
}
},
"videos": {
"type": "array",
"description": "plusieurs URLs de vidéos",
"items": {
"type": "string",
"format": "uri"
}
}
}
}
}RunComfy est la première ComfyUI plateforme, offrant des ComfyUI en ligne environnement et services, ainsi que des workflows ComfyUI proposant des visuels époustouflants. RunComfy propose également AI Models, permettant aux artistes d'utiliser les derniers outils d'IA pour créer des œuvres d'art incroyables.