Генерация изображений · alibaba

Qwen Image Edit

qwen-image-edit

Qwen Image Edit — генерация изображений от alibaba, доступная через единый Ranvik API. Поддерживаемые возможности: image_to_image.

от 8.4 ₽ / шт

Технические характеристики

МодальностьГенерация изображений
Провайдерalibaba
СтатусАктивна
ID для запросовqwen-image-edit

Возможности

  • Image-to-Image

Цены

ЕдиницаЦена
за изображение8.4 ₽

Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.

Поддерживаемые параметры

Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.

ПараметрТипДиапазон / valuesDefaultОписание
positivePromptrequiredstringmin: 1 · max: 32000 Текстовый промпт описывающий желаемое редактирование (что изменить в reference image).
примеры значений
Примеры
Замени фон на зимний лес, оставь персонажа и одежду без изменений.
negativePromptstringmin: 1 · max: 32000 Что НЕ должно быть в результате.
widthintegermin: 128 · max: 2048 Ширина в px. Любое значение от 128 до 2048 с шагом 16. Парный к height. При inputs.referenceImages размеры могут наследоваться.
примеры значений
Примеры
1024
1280
heightintegermin: 128 · max: 2048 Высота в px. Любое значение от 128 до 2048 с шагом 16. Парный к width.
примеры значений
Примеры
1024
1280
seedintegermin: 0 · max: 9223372036854776000 Seed для воспроизводимой генерации.
stepsintegermin: 1 · max: 508 Количество denoising-шагов. Default низкий (8) — быстрое редактирование.
CFGScalenumbermin: 1 · max: 20 Guidance scale. Выше — строже следует prompt.
schedulerenumDDIM, 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 KarrasDefault 75 опций scheduler-а для diffusion. Default — выбирается моделью.
inputs.referenceImagesrequiredarray of stringsmin: 1 Reference-изображения (UUID / URL / Data URI / Base64). REQUIRED для edit-режима. Модель сохраняет layout и text fidelity, делает semantic edits и локальные изменения.
примеры значений
Примеры
[
  "https://example.com/source.jpg"
]
loraarray of objectsmin: 1 LoRA адаптеры. Каждый item — объект {model, weight, transformer}.
1 формата ввода
LoRA config object[]
ПолеТипЗначенияОписание
modelreqstring Идентификатор LoRA.
weightnumbermin: -4 · max: 4 Сила влияния LoRA.
transformerenumhigh, low, both Где применять LoRA: high — на высоких блоках, low — на низких, both — везде.
[
  {
    "model": "civitai:12345@67890",
    "weight": 0.8,
    "transformer": "both"
  }
]
ultralyticsobject Face enhancement через Ultralytics detection. Все поля опциональны.
1 формата ввода
Ultralytics config object
ПолеТипЗначенияОписание
CFGScalenumbermin: 0 · max: 50 CFG scale для face-enhancement passа.
confidencenumbermin: 0 · max: 1 Минимальная уверенность детектора лица.
maskBlurintegermin: 0 · max: 100 Размытие маски face area.
maskPaddingintegermin: 0 · max: 20 Расширение маски в пикселях.
positivePromptstring Prompt именно для face-pass.
negativePromptstring Negative prompt для face-pass.
stepsintegermin: 1 · max: 100 Шаги denoising для face-pass.
strengthnumbermin: 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
ПолеТипЗначенияОписание
cacheStartStepintegermin: 0 Шаг начала кэширования.
cacheEndStepinteger Шаг окончания (> cacheStartStep).
cacheStartStepPercentageintegermin: 0 · max: 99 Альтернатива cacheStartStep в %.
cacheEndStepPercentageintegermin: 1 · max: 100 Альтернатива cacheEndStep в %.
cacheMaxConsecutiveStepsintegermin: 1 · max: 5 Макс. подряд кэшированных шагов.
fbCacheboolean Foundation Block Cache — кэширование начальных блоков.
fbCacheThresholdnumbermin: 0 · max: 1 Порог для fbCache.
teaCacheboolean TeaCache — content-aware кэширование.
teaCacheDistancenumbermin: 0 · max: 1 Distance для teaCache.
dbCacheboolean Deep Block Cache.
dbCacheThresholdnumbermin: 0 · max: 1 Порог для dbCache.
dbCacheSkipIntervalintegermin: 1 Интервал пропуска для dbCache.
{
  "fbCache": true,
  "fbCacheThreshold": 0.25
}
settings.trueCFGScalenumber True Classifier-Free Guidance scale (продвинутая альтернатива CFGScale).
numberResultsintegermin: 1 · max: 201 Сколько вариаций сгенерировать.
outputTypeenumURL, base64Data, dataURIURL Формат доставки.
outputFormatenumJPG, PNG, WEBPJPG Формат изображения.
outputQualityintegermin: 20 · max: 9995 Качество компрессии.
asyncbooleanfalse true → task_id для async-polling.
safety.checkContentbooleanfalse Включить проверку контента.
safety.modeenumnone, fastnone Режим safety-сканера.
webhookURLstring URL для POST-уведомления при готовности async-задачи.
примеры значений
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring Presigned URL для автозагрузки готового изображения.
примеры значений
Примеры
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}.
objectstringimage.task
statusenumqueued, processing, completed, failed
modelstring Public model id.
createdinteger

Опрос статуса (GET /v1/tasks/{id})

GET /v1/tasks/{id} — опрос статуса async-задачи.

ПолеТипЗначенияОписание
idstring
objectstringtask
statusenumqueued, processing, completed, failed, canceled
modalitystringimage
modelstring
createdinteger
dataarray
Каждый элемент:
  • url— string · CDN URL артефакта (если completed).
errorstring Сообщение об ошибке (если failed).

Пример запроса

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)

Замените rk_live_... на ваш ключ из кабинета.