Используйте API RunComfy для запуска qwen/qwen-image-2.1/edit. Допустимые входы и выходы см. в схеме.
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."
}'Задайте для переменной окружения YOUR_API_TOKEN ваш API-ключ (управление в Профиль) и передавайте в каждом запросе Bearer-токен в заголовке Authorization : Authorization: Bearer $YOUR_API_TOKEN.
Отправьте асинхронную задачу генерации и сразу получите request_id и URL для статуса, результатов и отмены.
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."
}'Текущее состояние по request_id: «in_queue», «in_progress», «completed» или «cancelled».
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Финальные выходные данные и метаданные для request_id; если задача не завершена, в ответе — текущее состояние для дальнейшего опроса.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Отмена задачи в очереди по request_id; выполняющиеся задачи отменить нельзя.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"Укажите публично доступный HTTPS URL. Хост должен разрешать серверные запросы (без входа и cookie), без жёсткого лимита и блокировки ботов. Рекомендуется: изображения ≤ 50 МБ (~4K), видео ≤ 100 МБ (~2–5 мин при 720p). Для приватных ресурсов — стабильные или подписанные URL.
{
"type": "object",
"title": "Схема входа",
"required": [
"image_urls",
"prompt"
],
"properties": {
"image_urls": {
"title": "Входные изображения",
"description": "От одного до десяти эталонных изображений. Порядок соответствует подсказке (первое изображение, второе изображение). JPEG, PNG или WebP; каждый файл до 30 МБ и 25 МП. Используйте четыре или меньше, когда необходимо сохранить чёткость идентичности.",
"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": "Инструкция правки",
"description": "Опишите изменение простым языком: что добавить, удалить, изменить стиль или заменить. Цитируйте любой текст, чтобы его воспроизвести дословно. С помощью маски опишите, что должно появиться в белой области.",
"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": "Изображение маски",
"description": "Необязательная черно-белая маска локального редактирования. Белый отмечает область для изменения; черный остается. Требует ровно одного эталонного изображения, не может использоваться с прозрачным фоном и игнорирует соотношение сторон и переписывание запроса.",
"type": "string"
},
"aspect_ratio": {
"title": "Соотношение сторон (Ш:В)",
"description": "Выходное соотношение сторон. auto использует первый эталон. Игнорируется в режиме маски.",
"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": "Разрешение",
"description": "Уровень детализации вывода. 1K быстрее; 2K имеет примерно в четыре раза больше пикселей и стоит дороже.",
"type": "string",
"enum": [
"1K",
"2K"
],
"default": "1K"
},
"background": {
"title": "Фон",
"description": "непрозрачный для обычного фото. прозрачный записывает настоящий альфа-канал — описывайте только объект и не используйте JPEG. Нельзя комбинировать с маской.",
"type": "string",
"enum": [
"opaque",
"transparent"
],
"default": "opaque"
},
"output_format": {
"title": "Формат вывода",
"description": "PNG и WebP могут содержать альфа-канал. JPEG не может, поэтому его нельзя комбинировать с прозрачным фоном.",
"type": "string",
"enum": [
"png",
"webp",
"jpeg"
],
"default": "png"
},
"enhance_prompt": {
"title": "Улучшить промпт",
"description": "Перепишите короткую инструкцию в более полную сцену перед редактированием. Отключите, если инструкция уже точная. Игнорируется в режиме маски.",
"type": "boolean",
"default": true
},
"seed": {
"title": "Seed",
"description": "Случайное начальное значение для воспроизводимости. Используйте -1 для случайного значения при каждом запуске.",
"type": "integer",
"default": -1
}
}
}{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "URL одного изображения"
},
"video": {
"type": "string",
"format": "uri",
"description": "URL одного видео"
},
"images": {
"type": "array",
"description": "несколько URL изображений",
"items": {
"type": "string",
"format": "uri"
}
},
"videos": {
"type": "array",
"description": "несколько URL видео",
"items": {
"type": "string",
"format": "uri"
}
}
}
}
}RunComfy - ведущая ComfyUI платформа, предлагающая ComfyUI онлайн среду и услуги, а также рабочие процессы ComfyUI с потрясающей визуализацией. RunComfy также предоставляет AI Models, позволяя художникам использовать новейшие инструменты AI для создания невероятного искусства.