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

Qwen Image Edit

qwen-image-edit

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

от 3.96 ₽ / шт

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

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

Возможности

  • Редактирование изображений

Цены

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

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

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

Параметры передаются вендору как есть (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 Качество компрессии.
asyncboolean—false true → task_id для async-polling.
safety.checkContentboolean—false Включить проверку контента.
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= "Пример промпта",
    negativePrompt= "Пример промпта",
    width= 1088,
    height= 1088,
    seed= 4611686018427388000,
    steps= 8,
    CFGScale= 10.5,
    scheduler= "Default",
    lora= [],
    ultralytics= {},
    acceleratorOptions= {},
    numberResults= 1,
    outputType= "URL",
    outputFormat= "JPG",
    outputQuality= 95,
    async= False,
    webhookURL= "https://example.com/...",
    uploadEndpoint= "value",
    inputs= {
        "referenceImages": []
    },
    settings= {
        "TrueCFGScale": 1
    },
    safety= {
        "checkContent": False,
        "mode": "none"
    },
)
print(resp)

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