Utilisez l'API RunComfy pour exécuter community/fantasy-portrait/image-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/community/fantasy-portrait/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"143_image": "https://playgrounds-storage-public.runcomfy.net/comfyui-defaults/163b6a8a-8efc-4c2f-b1c3-cc04f73067ec/input/Runcomfy_example_1268_1.png",
"160_video": "https://playgrounds-storage-public.runcomfy.net/comfyui-defaults/163b6a8a-8efc-4c2f-b1c3-cc04f73067ec/input/Runcomfy_example_1268_1.mp4",
"155_positive_prompt": "woman acting"
}'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/community/fantasy-portrait/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"143_image": "https://playgrounds-storage-public.runcomfy.net/comfyui-defaults/163b6a8a-8efc-4c2f-b1c3-cc04f73067ec/input/Runcomfy_example_1268_1.png",
"160_video": "https://playgrounds-storage-public.runcomfy.net/comfyui-defaults/163b6a8a-8efc-4c2f-b1c3-cc04f73067ec/input/Runcomfy_example_1268_1.mp4",
"155_positive_prompt": "woman acting"
}'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": [
"143_image",
"160_video",
"155_positive_prompt"
],
"properties": {
"160_video": {
"title": "Vidéo de référence",
"description": "Vidéo de référence obligatoire qui fournit le mouvement à suivre.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/comfyui-defaults/163b6a8a-8efc-4c2f-b1c3-cc04f73067ec/input/Runcomfy_example_1268_1.mp4"
},
"143_image": {
"title": "Portrait",
"description": "Image portrait requise du sujet à animer.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/comfyui-defaults/163b6a8a-8efc-4c2f-b1c3-cc04f73067ec/input/Runcomfy_example_1268_1.png"
},
"155_positive_prompt": {
"title": "Prompt",
"description": "Texte obligatoire décrivant l’action, l’expression ou la direction visuelle souhaitée.",
"type": "string",
"default": "woman acting"
},
"169_valuex170_value": {
"title": "Résolution (W:H)",
"description": "Dimensions de sortie. Choisissez l'un des dix préréglages carrés, portrait ou paysage répertoriés ; par défaut : 720x720 (1:1).",
"type": "string",
"enum": [
"480x480 (1:1)",
"720x720 (1:1)",
"480x720 (2:3)",
"720x480 (3:2)",
"540x960 (9:16)",
"576x1024 (9:16)",
"720x1280 (9:16)",
"960x540 (16:9)",
"1024x576 (16:9)",
"1280x720 (16:9)"
],
"default": "720x720 (1:1)"
},
"174_value": {
"title": "Nombre d’images",
"description": "Nombre d’images de sortie. Choisissez 81 ou 141 ; par défaut : 81.",
"type": "integer",
"enum": [
81,
141
],
"default": 81
},
"163_frame_rate": {
"title": "Images par seconde",
"description": "Fréquence d'images de lecture de 12 à 24 FPS ; par défaut : 16.",
"type": "integer",
"default": 16,
"minimum": 12,
"maximum": 24
},
"150_strength": {
"title": "Force du portrait",
"description": "Contrôle l'influence de l’embedding Fantasy Portrait. Des valeurs plus élevées mettent l'accent sur le portrait et les expressions ; plage : 0,3 à 2,0, par défaut : 1.",
"type": "float",
"default": 1,
"minimum": 0.3,
"maximum": 2
},
"149_seed": {
"title": "Graine",
"description": "Graine entière utilisée pour reproduire ou varier une génération ; par défaut : 96860978.",
"type": "integer",
"default": 96860978
},
"149_steps": {
"title": "Étapes d'échantillonnage",
"description": "Itérations de débruitage. Plus d'étapes peuvent affiner les détails et la stabilité, mais prennent plus de temps ; plage : 6–20, par défaut : 6.",
"type": "integer",
"default": 6,
"minimum": 6,
"maximum": 20
},
"149_cfg": {
"title": "Échelle de guidage",
"description": "Contrôle l’fidélité au prompt par rapport à la variation créative ; plage : 0,6 à 2,0, par défaut : 1.",
"type": "float",
"default": 1,
"minimum": 0.6,
"maximum": 2
},
"149_shift": {
"title": "Décalage d’échantillonnage",
"description": "Décale le programme d'échantillonnage. Des valeurs plus élevées favorisent un mouvement ou un style plus fort que la stabilité ; plage : 1 à 15, par défaut : 5.",
"type": "integer",
"default": 5,
"minimum": 1,
"maximum": 15
}
}
}{
"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.