Qwen Image Edit
qwen-image-edit — генерация изображений-модель от Alibaba.
image_to_image
Что умеет Qwen Image Edit
- Image-to-Image
Стоимость
за изображение
8.4 ₽
Цены указаны в рублях и списываются с баланса проекта за успешные запросы. Надбавки (+) суммируются с базовой ставкой.
Технические характеристики
Vendor
alibaba
Modality
image
Параметры запроса
Параметры, которые принимает модель. Передаются в теле запроса.
ПараметрТипДиапазон / значенияПо умолчаниюОписание
positivePromptreqstring
min: 1 · max: 32000
—Текстовый промпт описывающий желаемое редактирование (что изменить в reference image).
1 пример
Примеры
Замени фон на зимний лес, оставь персонажа и одежду без изменений.
negativePromptstring
min: 1 · max: 32000
—Что НЕ должно быть в результате.
widthinteger
min: 128 · max: 2048
—Ширина в px. Любое значение от 128 до 2048 с шагом 16. Парный к height. При inputs.referenceImages размеры могут наследоваться.
2 примеров
Примеры
1024
1280
heightinteger
min: 128 · max: 2048
—Высота в px. Любое значение от 128 до 2048 с шагом 16. Парный к width.
2 примеров
Примеры
1024
1280
seedinteger
min: 0 · max: 9223372036854776000
—Seed для воспроизводимой генерации.
stepsinteger
min: 1 · max: 50
8Количество denoising-шагов. Default низкий (8) — быстрое редактирование.
CFGScalenumber
min: 1 · max: 20
—Guidance scale. Выше — строже следует prompt.
schedulerenum
DDIM, DDIMScheduler, DDPMScheduler, DEISMultistepScheduler, Default, DPM++, DPM++ 2M, DPM++ 2M Beta, DPM++ 2M Exponential, DPM++ 2M Karras, DPM++ 2M SDE, DPM++ 2M SDE Beta, DPM++ 2M SDE Exponential, DPM++ 2M SDE Karras, DPM++ 2M SDE Uniform, DPM++ 2M Uniform, DPM++ 3M, DPM++ 3M Beta, DPM++ 3M Exponential, DPM++ 3M Karras, DPM++ 3M SDE Uniform, DPM++ 3M Uniform, DPM++ Beta, DPM++ Exponential, DPM++ Karras, DPM++ SDE, DPM++ SDE Beta, DPM++ SDE Exponential, DPM++ SDE Karras, DPM++ Uniform, DPM++ Uniform Beta, DPM++ Uniform Exponential, DPM++ Uniform Karras, DPMSolverMultistepInverse, DPMSolverMultistepScheduler, DPMSolverSinglestepScheduler, EDMDPMSolverMultistepScheduler, EDMEulerScheduler, Euler, Euler a, Euler Beta, Euler DiscreteScheduler, Euler Exponential, Euler Karras, EulerAncestralDiscreteScheduler, FlowMatchEulerDiscreteScheduler, Heun, HeunDiscreteScheduler, Heun Karras, IPNDMScheduler, IPNDM Uniform, IPNDM Uniform Beta, IPNDM Uniform Exponential, IPNDM Uniform Karras, KDPM2AncestralDiscreteScheduler, KDPM2DiscreteScheduler, LCM, LCMScheduler, LMS, LMSDiscreteScheduler, LMS Karras, PNDMScheduler, TCDScheduler, UniPC, UniPC 2M, UniPC 2M Karras, UniPC 2M Uniform, UniPC 3M, UniPC 3M Karras, UniPC 3M Uniform, UniPC Karras, UniPC Uniform, UniPC Uniform Beta, UniPC Uniform Exponential, UniPC Uniform Karras
Default75 опций scheduler-а для diffusion. Default — выбирается моделью.
inputs.referenceImagesreqarray of strings
min: 1
—Reference-изображения (UUID / URL / Data URI / Base64). REQUIRED для edit-режима. Модель сохраняет layout и text fidelity, делает semantic edits и локальные изменения.
1 пример
Примеры
[ "https://example.com/source.jpg" ]
loraarray of objects
min: 1
—LoRA адаптеры. Каждый item — объект {model, weight, transformer}.
1 формата ввода
LoRA config object[]
| Поле | Тип | Значения | Описание |
|---|---|---|---|
modelreq | string | — | Идентификатор LoRA. |
weight | number | min: -4 · max: 4 | Сила влияния LoRA. |
transformer | enum | high, low, both | Где применять LoRA: high — на высоких блоках, low — на низких, both — везде. |
[
{
"model": "civitai:12345@67890",
"weight": 0.8,
"transformer": "both"
}
]ultralyticsobject
—
—Face enhancement через Ultralytics detection. Все поля опциональны.
1 формата ввода
Ultralytics config object
| Поле | Тип | Значения | Описание |
|---|---|---|---|
CFGScale | number | min: 0 · max: 50 | CFG scale для face-enhancement passа. |
confidence | number | min: 0 · max: 1 | Минимальная уверенность детектора лица. |
maskBlur | integer | min: 0 · max: 100 | Размытие маски face area. |
maskPadding | integer | min: 0 · max: 20 | Расширение маски в пикселях. |
positivePrompt | string | — | Prompt именно для face-pass. |
negativePrompt | string | — | Negative prompt для face-pass. |
steps | integer | min: 1 · max: 100 | Шаги denoising для face-pass. |
strength | number | min: 0 · max: 1 | Сила face-trans трансформации. |
{
"CFGScale": 8,
"confidence": 0.9,
"maskBlur": 5,
"maskPadding": 5,
"steps": 20,
"strength": 0.3
}acceleratorOptionsobject
—
—Acceleration через caching mechanisms — для ускорения generation в обмен на минимальную потерю качества. Включает fbCache (Foundation Block Cache), teaCache, dbCache. Каждый имеет threshold/skipInterval/distance.
1 формата ввода
AcceleratorOptions config object
| Поле | Тип | Значения | Описание |
|---|---|---|---|
cacheStartStep | integer | min: 0 | Шаг начала кэширования. |
cacheEndStep | integer | — | Шаг окончания (> cacheStartStep). |
cacheStartStepPercentage | integer | min: 0 · max: 99 | Альтернатива cacheStartStep в %. |
cacheEndStepPercentage | integer | min: 1 · max: 100 | Альтернатива cacheEndStep в %. |
cacheMaxConsecutiveSteps | integer | min: 1 · max: 5 | Макс. подряд кэшированных шагов. |
fbCache | boolean | — | Foundation Block Cache — кэширование начальных блоков. |
fbCacheThreshold | number | min: 0 · max: 1 | Порог для fbCache. |
teaCache | boolean | — | TeaCache — content-aware кэширование. |
teaCacheDistance | number | min: 0 · max: 1 | Distance для teaCache. |
dbCache | boolean | — | Deep Block Cache. |
dbCacheThreshold | number | min: 0 · max: 1 | Порог для dbCache. |
dbCacheSkipInterval | integer | min: 1 | Интервал пропуска для dbCache. |
{
"fbCache": true,
"fbCacheThreshold": 0.25
}settings.trueCFGScalenumber
—
—True Classifier-Free Guidance scale (продвинутая альтернатива CFGScale).
numberResultsinteger
min: 1 · max: 20
1Сколько вариаций сгенерировать.
outputTypeenum
URL, base64Data, dataURI
URLФормат доставки.
outputFormatenum
JPG, PNG, WEBP
JPGФормат изображения.
outputQualityinteger
min: 20 · max: 99
95Качество компрессии.
asyncboolean
—
falsetrue → task_id для async-polling.
safety.checkContentboolean
—
falseВключить проверку контента.
safety.modeenum
none, fast
noneРежим safety-сканера.
webhookURLstring
—
—URL для POST-уведомления при готовности async-задачи.
1 пример
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring
—
—Presigned URL для автозагрузки готового изображения.
1 пример
Примеры
https://bucket.s3.amazonaws.com/result.png?X-Amz-Signature=...
Параметры ответа
Что возвращает API. У медиа-моделей формат зависит от режима: sync — сразу результат, async — task_id для опроса через GET /v1/tasks/{id}.
Sync (HTTP 200)
Sync-ответ (default). HTTP 200 + JSON.
ПолеТипЗначенияОписание
createdinteger
—
Unix timestamp когда сгенерировано.
dataarray
—
Каждый элемент:
url— string · CDN URL картинки (если outputType=URL).b64_json— string · Base64-кодированный PNG/JPG (если outputType=base64Data).taskUUID— string · Идентификатор upstream-задачи (для chain в i2i и т.п.).seed— integer · Использованный seed (если детерминистичная генерация).
providerstring
—
Вендор для отладки.
Async (HTTP 202)
Если в запросе передан async:true → HTTP 202.
ПолеТипЗначенияОписание
idstring
—
task_id для опроса через GET /v1/tasks/{id}.
objectstring
image.task
statusenum
queued, processing, completed, failed
modelstring
—
Public model id.
createdinteger
—
Опрос статуса (GET /v1/tasks/{id})
GET /v1/tasks/{id} — опрос статуса async-задачи.
ПолеТипЗначенияОписание
idstring
—
objectstring
task
statusenum
queued, processing, completed, failed, canceled
modalitystring
image
modelstring
—
createdinteger
—
dataarray
—
Каждый элемент:
url— string · CDN URL артефакта (если completed).
errorstring
—
Сообщение об ошибке (если failed).
Пример кода
qwen-image-edit_example.py
from openai import OpenAI
client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.images.generate(
model= "qwen-image-edit",
positivePrompt= "Пример промпта",
"inputs.referenceImages": [],
negativePrompt= "Пример промпта",
width= 1088,
height= 1088,
seed= 4611686018427388000,
steps= 8,
CFGScale= 10.5,
scheduler= "Default",
lora= [],
ultralytics= {},
acceleratorOptions= {},
"settings.TrueCFGScale": 1,
numberResults= 1,
outputType= "URL",
outputFormat= "JPG",
outputQuality= 95,
async= False,
"safety.checkContent": False,
"safety.mode": "none",
webhookURL= "https://example.com/...",
uploadEndpoint= "value",
)
print(resp)