Обзор Yes Ai API Qwen Images. Получение генераций и проверка статусов заданий - часть 7

Чтобы узнать статус задачи на генерацию изображений в Qwen Images через API, понадобится "id" вашего задания. Этот идентификатор вы получаете после отправки одной из опций генерации.

Обзор Yes Ai API Qwen Images. Получение генераций и проверка статусов заданий - часть 7
  • генерация по вашему промту или по промту с референсом (описание);
  • генерация с использованием модели LoRA (описание);
  • проведение нейрофотосессий (описание).

Начинать проверять статус выполнения заданий стоит только спустя 20 секунд после их отправки. За это время генерация гарантированно не завершится, попробовав раньше — просто получите пустой или неокончательный ответ. По прошествии этих 20 секунд переходите в режим регулярных проверок раз в 10 секунд.

Если вы заказывали сразу несколько изображений, обратите внимание: в результатах нужно дождаться такого же количества ссылок в параметре result_url, сколько вы указали в copies при создании задания. Пока не получите все — генерация считается незавершённой.

Как проверить статус задания на генерацию в Qwen Images через API

GET https://api.yesai.su/v2/qwen/generations/{id}/batch
headers: { Content-Type: application/json, Authorization: Bearer }

curl -X GET https://api.yesai.su/v2/qwen/generations/{id}/batch -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{ "id": 1234567890 }'

Параметры:

  • {id} = 12345 (обязательно, id задания)

Список возможных ошибок:

['success' => false, 'message' => 'ID_IS_EMPTY'], 400
['success' => false, 'message' => 'ID_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'ID_NOT_FOUND'], 404
['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409
['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500

Формат ответа при успешном запросе:

['success' => true, 'message' => 'OK', 'results' => ['generations_data' => [ ... ]]], 200

Объяснение ответа от API Qwen Images

Вот как выглядит ответ API, когда запрашиваешь статус выполнения задания:

{ "success": true, // данные успешно получены "message": "OK", "results": { "generations_data": { "info": { "count": 2, // количество генераций, которые выполнены в момент проверки для родительского задания {id} "max_id": 587, "limit_offset": 0, "limit_count": 20, "sort_field": "id", "sort_order": 1, "id_offset": 2147483647 }, "data": [ { "id": 586, // уникальный ID задания в системе Yes Ai, он же является {id} родительского задания "user_id": 1234567890, // ID пользователя, который подал задание "tariff_id": 30, // тарифный план пользователя (0 - Demo, 5 - Micro, 10 - Start, 20 - Standard, 30 - VIP) "model_id": 1, // id модели Qwen Images, которая использовалась для генерации "type": 0, "styles": [], // список стилей, которые были использованы для генерации, 0 - без стиля "settings": { "cfg": 2.5, "cfg_interval": 0.5, "cfg_max": 3, "cfg_min": 2, "checkpoint_id": 3, // id чекпойнта, который использовался для генерации "checkpoint_name": "QWEN.Realistic", // наименование чекпойнта, который использовался для генерации "checkpoint_type": "qwen_prompts", // тип чекпойнта "copies": 2, // количество генераций в пачке "copies_interval": 1, "copies_max": 2, "copies_min": 1, "customer_id": "", "denoise": 1, "denoise_interval": 0.1, "denoise_max": 1.1, "denoise_min": 0.9, "height": 1024, // высота сгенерированной картинки в пикселях "height_interval": 2, "height_max": 1600, "height_min": 600, "model_alias": "qwen_images", "sampler_id": 1, "sampler_name": "euler", "steps": 20, "steps_interval": 1, "steps_max": 30, "steps_min": 10, "width": 1024, // ширина сгенерированной картинки в пикселях "width_interval": 2, "width_max": 1600, "width_min": 600 }, "child_ids": [ 587 // id дочерних заданий, если в пачке более одной генерации ], "parent_id": 0, "result_url": "https://yesai.su/files/qwen/generations/1234567890_1763068021436074.png", // ссылка для скачивания первой генерации в пачке заданий "result_type": "image", "result_data": { "image_width": 1024, "image_height": 1024, "image_mime_type": "image/png" }, "comment_ru": "", // комментарий к заданию на русском языке, он заполняется только в том случае, если задание не удалось выполнить "comment_en": "", // комментарий к заданию на английском языке, он заполняется только в том случае, если задание не удалось выполнить "accounting": { "total_cost": 1.048576, // итоговая стоимость выполнения задания в условных единицах "spent_points": 0, "spent_rpoints": 1.048576, // количество 🔅 монет, которые были сняты с баланса за выполнение задания "spent_repost_points": 0, "spent_regenerating_rpoints": 0, "spent_balance": 0, "spent_rbalance": 0, "remaining_points": 1820, "remaining_rpoints": 4915.263504699999, // остаток средств на балансе 🔅 монет после выполнения задания "remaining_repost_points": 0, "remaining_regenerating_rpoints": 0, "remaining_balance": 0, "remaining_rbalance": 38341.60956
}, "language": "", "prompt": "kitty is crying", // промт, по которому создана генерация "prompt_en": "kitty is crying", "prompt_language": "source", "status": 2, // статус задания, где 2 - успешное завершение "status_description": "completed", // текстовое пояснение к статусу задания, где completed означает успешное завершение "start_at": 1763067964, // unixtime, время начала выполнения задания "finish_at": 1763068022, // unixtime, время завершения выполнения задания "created_at": 1763067964, // unixtime, время подачи задания клиентом "updated_at": 1763068022, // unixtime, время последнего обновления статуса задания "deleted_at": 0 }, // вложенные данные о втором дочернем задании из пачки, см. пример JSON из задания с id 586 ] } } }

Возможные статусы задания:

  • "status": 0 ("status_description":"in queue") — задача ждёт своей очереди, просто нужно немного подождать.
  • "status": 1 ("status_description":"in progress") — процесс пошёл, генерация идёт, остаётся терпеть.
  • "status": 2 ("status_description":"completed") — всё готово, результат можно сразу забирать и использовать.
  • "status": 3 ("status_description":"rejected with error") — возникла ошибка, задание не выполнено. Причина — в описаниях "comment_ru" и "comment_en". Разберитесь, устраняйте, отправляйте заново.
  • "status": 4 ("status_description":"rejected due to timeout") — время вышло, задание отклонено. Нужно отправить его повторно.

Как обрабатывать задания на генерацию изображений через Qwen Images API Yes Ai

Когда задача на создание изображения успешно завершена, вы получите уникальную ссылку для скачивания файлов в PNG или JPG. Хранятся файлы всего 60 минут — не стоит медлить. Лучше сразу скачать результаты на свой сервер, иначе просто потеряете доступ.

Ограничения при работе с заданиями

Задания отправляются через Yes Ai API, их статусы отслеживаются по тем же правилам.

  • Максимальный размер файла для анимации — 5 МБ.
  • Изображение по ширине/высоте — не больше 2000 пикселей.
  • Разрешённые форматы: jpeg, jpg, png.

Рекомендация из практики: первую проверку статуса задания делайте через 20 секунд после отправки. Следующие — с интервалом 5 секунд. Обязательно каждый раз просматривайте поле "status", чтобы контролировать этап выполнения. Это поможет избежать лишней суеты и быстрее реагировать на возможные сбои.

Ограничения на количество одновременно запущенных задач (очередь)

С 25 июня 2025 года в Yes Ai начали действовать новые лимиты на параллельную обработку заданий. Теперь размер очереди напрямую зависит от выбранного тарифа.

Лимиты на примере Qwen Images:

  • Без тарифа: до 20 заданий одновременно
  • Micro: 20 задач
  • Start: 20 задач
  • Standard: 20 задач
  • VIP: уже 40 задач

Лимиты считаются отдельно по каждой нейросети. Получается, на VIP вы параллельно отправляете 40 задач в Qwen Images, столько же — в Midjourney, Dalle 3 и так далее. Каждый инструмент — со своей очередью.

Лайфхак из практики: удобно вести собственный список отправленных задач и контролировать лимит вручную, чтобы система не блокировала новые запросы. Если для вашего проекта стандартного количества задач мало — техническая поддержка @yes_ai_support на связи. Напишите, если нужен индивидуальный вариант, — почти всегда можно найти решение под конкретные задачи.

Начать дискуссию