Utilisez l'API RunComfy pour exécuter kling/kling-video-o3/4K/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/4K/text-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Aerial drone shot gliding over a misty mountain valley at sunrise, golden light catching pine forests and a winding river, slow forward push, photoreal 4K detail, soft volumetric haze."
}'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/4K/text-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Aerial drone shot gliding over a misty mountain valley at sunrise, golden light catching pine forests and a winding river, slow forward push, photoreal 4K detail, soft volumetric haze."
}'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": "Décrivez la scène, les personnages, le mouvement de caméra, l’éclairage et l’atmosphère que le modèle doit produire en 4K.",
"type": "string",
"default": "Aerial drone shot gliding over a misty mountain valley at sunrise, golden light catching pine forests and a winding river, slow forward push, photoreal 4K detail, soft volumetric haze."
},
"aspect_ratio": {
"title": "Format d’image (L:H)",
"description": "Format de sortie : 16:9 en paysage, 9:16 pour les réseaux sociaux verticaux ou 1:1 en carré.",
"type": "string",
"default": "16:9",
"enum": [
"16:9",
"9:16",
"1:1"
]
},
"duration": {
"title": "Durée (secondes)",
"description": "Durée du clip 4K généré. Le prix augmente de manière linéaire avec la durée choisie.",
"type": "integer",
"default": 5,
"enum": [
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15
]
},
"sound": {
"title": "Générer le son",
"description": "Lorsque cette option est activée, le modèle crée avec la vidéo 4K une ambiance sonore et des effets adaptés. Le tarif reste inchangé.",
"type": "boolean",
"default": false
},
"shot_type": {
"title": "Type de plan",
"description": "Mode de montage : intelligent détermine automatiquement le périmètre ; customize suit le prompt pour un contrôle manuel précis.",
"type": "string",
"enum": [
"customize",
"intelligent"
],
"default": "customize"
},
"multi_prompt": {
"title": "Prompt en plusieurs segments",
"description": "Des segments supplémentaires pilotent les transitions et la progression. La somme de leurs durées doit correspondre à la durée totale de la vidéo.",
"type": "array",
"items": {
"prompt": {
"title": "Prompt",
"description": "Segment de prompt supplémentaire pour piloter une transition ou la progression de la scène.",
"type": "string",
"format": "str"
},
"duration": {
"title": "Durée",
"description": "Durée de ce 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.