Utilisez l'API RunComfy pour exécuter minimax/minimax-h3-max/reference-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/minimax/minimax-h3-max/reference-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Image 1 is the near man; Image 2 is the far man. Keep both faces, hair, and jackets identical to their reference images. Dusk in an empty asphalt parking lot under soft sodium lights. They stand a few meters apart. The near man says flatly: \"So… you actually tried it?\" A beat of wind. The far man answers with a slow half-smile, warm and certain: \"Yeah. I love it.\" The near man exhales and shakes his head once, almost smiling. Static camera, medium wide. Native audio, lip-synced English dialogue, distant traffic hum, wind. No music, no subtitles, no camera movement, no text, no watermark.",
"prompt_expansion_mode": "balanced",
"reference_images": [
"https://playgrounds-storage-public.runcomfy.net/tools/7453/media-files/ref-1.webp",
"https://playgrounds-storage-public.runcomfy.net/tools/7453/media-files/ref-2.webp"
]
}'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/minimax/minimax-h3-max/reference-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Image 1 is the near man; Image 2 is the far man. Keep both faces, hair, and jackets identical to their reference images. Dusk in an empty asphalt parking lot under soft sodium lights. They stand a few meters apart. The near man says flatly: \"So… you actually tried it?\" A beat of wind. The far man answers with a slow half-smile, warm and certain: \"Yeah. I love it.\" The near man exhales and shakes his head once, almost smiling. Static camera, medium wide. Native audio, lip-synced English dialogue, distant traffic hum, wind. No music, no subtitles, no camera movement, no text, no watermark.",
"prompt_expansion_mode": "balanced",
"reference_images": [
"https://playgrounds-storage-public.runcomfy.net/tools/7453/media-files/ref-1.webp",
"https://playgrounds-storage-public.runcomfy.net/tools/7453/media-files/ref-2.webp"
]
}'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",
"prompt_expansion_mode",
"reference_images"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Décrivez la scène, le mouvement, la caméra et l'audio. Faites référence aux ressources comme Image 1, Image 2, Vidéo 1, Audio 1 et dites ce que chaque référence fournit.",
"type": "string",
"default": "Image 1 is the near man; Image 2 is the far man. Keep both faces, hair, and jackets identical to their reference images. Dusk in an empty asphalt parking lot under soft sodium lights. They stand a few meters apart. The near man says flatly: \"So… you actually tried it?\" A beat of wind. The far man answers with a slow half-smile, warm and certain: \"Yeah. I love it.\" The near man exhales and shakes his head once, almost smiling. Static camera, medium wide. Native audio, lip-synced English dialogue, distant traffic hum, wind. No music, no subtitles, no camera movement, no text, no watermark."
},
"reference_images": {
"title": "Images de référence",
"description": "URL d'image de référence de sujet ou de style, citées dans l'invite comme Image 1, Image 2, etc. Combiné avec des vidéos et des audios, au maximum 12 fichiers de référence.",
"type": "array",
"default": [
"https://playgrounds-storage-public.runcomfy.net/tools/7453/media-files/ref-1.webp",
"https://playgrounds-storage-public.runcomfy.net/tools/7453/media-files/ref-2.webp"
],
"items": {
"type": "string",
"format": "image_uri"
},
"maxItems": 12
},
"reference_videos": {
"title": "Vidéos de référence",
"description": "Clips de référence de mouvement (environ 2 à 15 s chacun ; durée combinée d'au plus 15 s), cités comme Vidéo 1, Vidéo 2. Combinés avec des images et des audios, au plus 12 fichiers de référence.",
"type": "array",
"items": {
"type": "string",
"format": "video_uri"
},
"maxItems": 12
},
"reference_audios": {
"title": "Audios de référence",
"description": "Clips de voix ou d'ambiance en option (environ 2 à 15 s chacun ; durée combinée d'au plus 15 s). Ne peut pas être la seule référence ; fournissez au moins une image ou une vidéo avec eux.",
"type": "array",
"items": {
"type": "string",
"format": "audio_uri"
},
"maxItems": 12
},
"aspect_ratio": {
"title": "Format d'image",
"description": "Rapport hauteur/largeur de sortie. adaptive suit le cadrage de référence lorsque cela est possible.",
"type": "string",
"enum": [
"adaptive",
"21:9",
"16:9",
"4:3",
"1:1",
"3:4",
"9:16"
],
"default": "adaptive"
},
"resolution": {
"title": "Résolution",
"description": "Résolution de génération native. 480p est plus rapide/moins cher ; 768p est la valeur par défaut la plus nette.",
"type": "string",
"enum": [
"480p",
"768p"
],
"default": "768p"
},
"duration": {
"title": "Durée",
"description": "Durée de la vidéo générée en secondes (5-15).",
"type": "integer",
"minimum": 5,
"maximum": 15,
"default": 5
},
"prompt_expansion_mode": {
"title": "Mode d’expansion du prompt",
"description": "Combien d'efforts faut-il consacrer à la réécriture de l'invite avant la génération. balanced revient rapidement ; quality passe plus de temps sur une invite plus riche.",
"type": "string",
"enum": [
"balanced",
"quality"
],
"default": "balanced"
},
"seed": {
"title": "Seed",
"description": "Graine fixe pour des résultats reproductibles. Utilisez -1 pour une graine aléatoire.",
"type": "integer",
"default": -1
},
"enable_safety_checker": {
"title": "Activer le vérificateur de sécurité",
"description": "S'il est défini sur true, le vérificateur de sécurité sera activé.",
"type": "boolean",
"default": true
}
}
}{
"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.