Utilisez l'API RunComfy pour exécuter qwen/qwen-image-2.1/edit. Pour les entrées et sorties acceptées, voir le schéma.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/qwen/qwen-image-2.1/edit \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7461/media-files/output-example1-4.webp"
],
"prompt": "Change the background to a warm golden-hour studio and add soft rim lighting, keep the subject and clothing unchanged."
}'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/qwen/qwen-image-2.1/edit \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7461/media-files/output-example1-4.webp"
],
"prompt": "Change the background to a warm golden-hour studio and add soft rim lighting, keep the subject and clothing unchanged."
}'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": [
"image_urls",
"prompt"
],
"properties": {
"image_urls": {
"title": "Image(s) d'entrée",
"description": "Une à dix images de référence. L'ordre correspond à l'invite (la première image, la deuxième image). JPEG, PNG, ou WebP; chaque fichier jusqu'à 30 Mo et 25 MP. Limitez à quatre ou moins lorsque l'identité doit rester nette.",
"type": "array",
"items": {
"type": "string",
"format": "image_uri"
},
"minItems": 1,
"maxItems": 10,
"validations": [
{
"validation_rule": "file_size_mb<",
"validation_value": 30,
"validation_error": "File size must be less than 30 MB."
}
],
"default": [
"https://playgrounds-storage-public.runcomfy.net/tools/7461/media-files/output-example1-4.webp"
]
},
"prompt": {
"title": "Instruction de retouche",
"description": "Décrivez le changement en langage simple : quoi ajouter, supprimer, restyler ou remplacer. Citez tout texte pour le reproduire mot pour mot. Avec un masque, décrivez ce qui devrait apparaître dans la zone blanche.",
"type": "string",
"default": "Change the background to a warm golden-hour studio and add soft rim lighting, keep the subject and clothing unchanged."
},
"mask_url": {
"title": "Image de masque",
"description": "Masque d'édition locale optionnel en noir et blanc. Le blanc marque la zone à modifier ; le noir reste intact. Nécessite exactement une image de référence, ne peut pas être utilisé avec un fond transparent, et ignore le ratio d'aspect ainsi que la réécriture de l'invite.",
"type": "string"
},
"aspect_ratio": {
"title": "Format (L:H)",
"description": "Rapport d'aspect de sortie. auto utilise la première référence. Ignoré en mode masque.",
"type": "string",
"enum": [
"auto",
"1:1",
"4:3",
"3:4",
"3:2",
"2:3",
"16:9",
"9:16",
"21:9",
"9:21"
],
"default": "auto"
},
"resolution": {
"title": "Résolution",
"description": "Niveau de détail de sortie. 1K est plus rapide ; 2K a environ quatre fois plus de pixels et coûte plus cher.",
"type": "string",
"enum": [
"1K",
"2K"
],
"default": "1K"
},
"background": {
"title": "Arrière-plan",
"description": "opaque pour une photo normale. transparent écrit un vrai canal alpha — décrivez uniquement le sujet, et n’utilisez pas JPEG. Ne peut pas être combiné avec un masque.",
"type": "string",
"enum": [
"opaque",
"transparent"
],
"default": "opaque"
},
"output_format": {
"title": "Format de sortie",
"description": "PNG et WebP peuvent contenir un canal alpha. JPEG ne peut pas, donc il ne peut pas être combiné avec un arrière-plan transparent.",
"type": "string",
"enum": [
"png",
"webp",
"jpeg"
],
"default": "png"
},
"enhance_prompt": {
"title": "Améliorer le prompt",
"description": "Réécrivez une courte instruction en une scène plus complète avant de l'éditer. Désactivez lorsque l'instruction est déjà exacte. Ignoré en mode masque.",
"type": "boolean",
"default": true
},
"seed": {
"title": "Seed",
"description": "Graine aléatoire pour la reproductibilité. Utilisez -1 pour une graine aléatoire à chaque exécution.",
"type": "integer",
"default": -1
}
}
}{
"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.