Utilisez l'API RunComfy pour exécuter tongyi-mai/z-image/turbo/inpainting/lora. Pour les entrées et sorties acceptées, voir le schéma.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/tongyi-mai/z-image/turbo/inpainting/lora \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Replace the girl’s current top with a short red polka-dot swimsuit top. Keep the girl’s face, hairstyle, body proportions, and pose unchanged. The lighting should be natural and consistent with a beach environment, with realistic colors and details.",
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7294/media-files/input-1-1.png",
"mask_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7294/media-files/mask.png"
}'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/tongyi-mai/z-image/turbo/inpainting/lora \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Replace the girl’s current top with a short red polka-dot swimsuit top. Keep the girl’s face, hairstyle, body proportions, and pose unchanged. The lighting should be natural and consistent with a beach environment, with realistic colors and details.",
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7294/media-files/input-1-1.png",
"mask_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7294/media-files/mask.png"
}'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",
"image_url",
"mask_image_url"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "",
"type": "string",
"default": "Replace the girl’s current top with a short red polka-dot swimsuit top. Keep the girl’s face, hairstyle, body proportions, and pose unchanged. The lighting should be natural and consistent with a beach environment, with realistic colors and details."
},
"image_url": {
"title": "Image",
"description": "URL valide de l’image source utilisée pour l’inpainting.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7294/media-files/input-1-1.png"
},
"mask_image_url": {
"title": "Image du masque",
"description": "URL valide du masque qui délimite la zone à modifier.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7294/media-files/mask.png"
},
"control_start": {
"title": "Début du contrôle",
"description": "Point de départ du conditionnement ControlNet, sur une échelle de 0 à 1.",
"type": "float",
"minimum": 0,
"maximum": 1,
"default": 0
},
"strength": {
"title": "Intensité de l’inpainting",
"description": "Règle l’intensité du conditionnement d’inpainting.",
"type": "float",
"minimum": 0,
"maximum": 1,
"default": 1
},
"loras": {
"title": "LoRAs",
"description": "Liste des LoRA à appliquer, avec un maximum de 3.",
"type": "array",
"items": {
"path": {
"title": "Chemin du LoRA",
"description": "URL ou identifiant de dépôt HuggingFace (owner/repo) des poids LoRA.",
"type": "string",
"format": "str",
"default": ""
},
"scale": {
"title": "Intensité du LoRA",
"description": "Règle l’intensité du modèle LoRA.",
"type": "float",
"format": "float_slider_with_range",
"minimum": 0,
"maximum": 4,
"default": 1
}
},
"maxItems": 3,
"minItems": 0
},
"image_size": {
"title": "Format d’image (L:H)",
"description": "",
"type": "string",
"enum": [
"square_hd",
"square",
"portrait_4_3",
"portrait_16_9",
"landscape_4_3",
"landscape_16_9",
"auto"
],
"default": "auto"
},
"num_inference_steps": {
"title": "Nombre d’étapes d’inférence",
"description": "Règle le nombre d’étapes de diffusion.",
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 20
},
"seed": {
"title": "Graine",
"description": "",
"type": "integer",
"default": 0
},
"output_format": {
"title": "Format de sortie",
"description": "Définit le format de fichier de l’image générée.",
"type": "string",
"enum": [
"jpeg",
"png",
"webp"
],
"default": "png"
},
"control_scale": {
"title": "Intensité du contrôle",
"description": "Définit l’intensité du conditionnement ControlNet pour l’inpainting.",
"type": "float",
"minimum": 0,
"maximum": 1,
"default": 0.75
},
"control_end": {
"title": "Fin du contrôle",
"description": "Point final du conditionnement ControlNet, sur une échelle de 0 à 1.",
"type": "float",
"minimum": 0,
"maximum": 1,
"default": 0.6
}
}
}{
"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.