Qwen: Qwen Image 3
Qwen-Image-3.0 сочетает генерацию и редактирование изображений для насыщенных информацией макетов, подробных сцен и многоязычной типографики. Стандартная версия сочетает качество и скорость, принимая текстовое задание или до трёх изображений с инструкцией по редактированию.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Qwen-Image-3.0 — модель Qwen для изображений третьего поколения, объединяющая создание изображений по тексту и редактирование по референсам в одной модели. Стандартная версия сочетает качество изображения и скорость отклика, а Qwen-Image-3.0 Pro — родственная флагманская версия с приоритетом качества. Запрос создаёт изображение: постер, иллюстрированное объяснение, сцену с товаром, раскадровку или изменённую фотографию, а не редактируемый документ или работающий интерфейс.
Возможности работы с насыщенным содержимым подходят для полотна с несколькими связанными разделами или вложенной визуальной композицией. Подготовьте заголовки, точные формулировки, иерархию и связи между блоками, прежде чем добавлять детали стиля. Для сравнения товаров полезное задание определяет основной вид товара, характеристики для подписей и порядок чтения вспомогательных блоков. Для раскадровки отдельно опишите объект, действие и подпись в каждом кадре. Рекомендуемый максимум запроса — 4 500 токенов; используйте это пространство для содержимого и композиции, которые действительно нужны изображению.
Модель поддерживает подробные текстуры, типографику с мелким текстом, продемонстрированным при размере 10 пикселей, и непосредственную отрисовку на 12 языках с разными шрифтами и художественными стилями. Эти возможности позволяют сочетать реалистичный объект с насыщенной информацией графикой, а не выбирать между фотографией и макетом с большим объёмом текста. Предоставьте точные слова и цифры для отрисовки, их язык и расположение. Рассматривайте сгенерированный интерфейс как визуальный макет: кнопки, диаграммы и подписи на изображении не реализуют поведение приложения.
Редактирование позволяет менять текст, добавлять или удалять объекты, перемещать элементы, изменять действие персонажа или объекта, переносить стиль или улучшать детали повреждённого изображения. Предоставьте от одного до трёх изображений и одну ясную инструкцию по редактированию. Нумерация изображений соответствует порядку их передачи, поэтому укажите, какое изображение задаёт основной объект, какое предоставляет одежду или предмет, а какое — окружение. Для сцены с товаром попросите поместить объект с изображения 1 в окружение с изображения 2, сохранив отличительные признаки товара. Явно указывайте, что нужно изменить и что сохранить.
Конкретный процесс передачи изображений на вход принимает JPG, JPEG, PNG, BMP, TIFF, WebP и GIF; у анимированного GIF обрабатывается только первый кадр. Размер каждого изображения может составлять до 10 МБ. Текущий API принимает размеры от 1 до 8 000 пикселей при отношении длинной стороны к короткой не более 10:1 и рекомендует 384–2 048 пикселей для хороших результатов. Выберите исходное изображение, на котором ясно видны переносимые или редактируемые детали. Слишком тесная обрезка референса может скрыть окружающую структуру, необходимую для естественного размещения объекта.
Результат выдаётся в PNG: от одного до шести изображений на запрос, по умолчанию одно. Площадь выходного изображения в пикселях составляет от 512 × 512 до 2 048 × 2 048, с соотношением сторон от 1:8 до 8:1; это ограничения площади, а не правило, по которому каждая сторона должна быть не больше 2 048 пикселей. Если размер не задан, модель рекомендует разрешение на основе запроса. Выберите горизонтальную, квадратную или вертикальную композицию под нужное применение, затем проверьте полученное изображение в его реальном размере, чтобы оценить мелкие подписи и тонкие детали там, где они будут отображаться.
В процессе производителя переписывание запроса включено по умолчанию. Прямое улучшение работает и для генерации, и для редактирования; агентное улучшение — более сложный режим переписывания только для генерации изображений по тексту, который отклоняется при редактировании изображения по изображению. Размышление включено по умолчанию, требует переписывания запроса и увеличивает время генерации. Негативные запросы позволяют описать нежелательные элементы, а фиксированный seed помогает сравнивать варианты. Ясно задавайте исключения и точные требования к сохранению деталей, вместо того чтобы ожидать одинаковую картинку при изменяющемся задании только благодаря seed.
Чтобы получить полезный итоговый результат, проверьте отрисованные слова, единицы измерения, порядок блоков и отличительные детали объекта, затем исправьте конкретную часть, не соответствующую заданию. Ответ с несколькими изображениями даёт варианты для сравнения; сохраняйте связь каждого полученного изображения с запросом и референсами, по которым оно создано. Адреса изображений у производителя действуют 24 часа, поэтому сохраняйте сам файл изображения, когда результат становится частью проекта. Стандартная версия 3.0 отличается от Pro и от моделей Qwen 2.1 с их другим количеством референсов и возможностями прозрачности.
Ailoot Ultra · Картинки POST /v1/images/generations qwen/qwen-image-3
qwen/qwen-image-3Начало
Qwen-Image-3.0 сочетает генерацию и редактирование изображений для насыщенных информацией макетов, подробных сцен и многоязычной типографики. Стандартная версия сочетает качество и скорость, принимая текстовое задание или до трёх изображений с инструкцией по редактированию.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Картинки
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Картинки POST /v1/images/generations
- Входные данные
text,image- Результат
image
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения qwen/qwen-image-3 | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения Минимальная длина: 1 | По умолчанию— |
Полеresolution | Типstring | ТребованиеНеобязательно | Значения и ограничения 1K, 2K | По умолчанию— |
Полеaspect_ratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 1:1, 1:2, 1:4, 2:1, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 9:16, 16:9 | По умолчанию— |
Полеn | Типinteger | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Максимум: 6 | По умолчанию— |
Полеinput_references | Типarray | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 0 Максимум элементов: 4 | По умолчанию— |
Полеprovider | Типobject | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt |
Параметрmaterial_types | Контрактtext, image |
Жизненный цикл: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Фактически возвращённый task_id или запись в медиатеке
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Расчётная единица | Плата |
|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётная единица— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| Конфигурациявходное изображение | Шкала ставок— | Прогноз количества— | Расчётная единицаза входное изображение | Плата Вход · входное изображение · Оценка только для сравнения $0.006 за входное изображение |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.06 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Картинки
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'qwen/qwen-image-3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Получить и сохранить результаты
Ailoot Ultra · Картинки
Загрузите каждое полученное изображение или сохраните его содержимое Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Чтение другого содержимого
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Сохраняйте все готовые результаты
Сохраните каждое готовое изображение; загрузите содержимое по каждому полученному URL или декодируйте его содержимое Base64.
Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.
Если нужно проверить исходный ответ
Сохраните возвращённый X-Client-Request-ID для сверки. Читайте только фактически возвращённые значения task_id/asset_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно.
Поля ответа
| Поле | Тип |
|---|---|
Полеcreated | Тип |
Полеdata[].url | Тип |
Полеdata[].b64_json | Тип |
Полеusage | Тип |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra qwen/qwen-image-3
Псевдонимы путей метода
/v1/images
Связанные ID для вызова
FAQ · Qwen: Qwen Image 3
- Какие входные данные и результаты доступны?
POST /v1/images/generations·qwen/qwen-image-3:text,image→image- Какие поля использует запрос?
POST /v1/images/generations·qwen/qwen-image-3:model,prompt,resolution,aspect_ratio,n,input_references,provider- Какие ограничения действуют?
POST /v1/images/generations·qwen/qwen-image-3:n.minimum:1;n.maximum:6