Перейти к основному содержанию

Бесплатный API Qwen-Image-2.1: подключение через ModelScope

6 мин чтенияAPI

У Qwen-Image-2.1 есть бесплатный API в ModelScope. Для доступа нужны токен, привязанный аккаунт Alibaba Cloud с подтверждённой личностью и достаточный баланс вычислительных кредитов. Ниже — полный цикл запроса на Python и правила расходования кредитов.

Иллюстрация доступа к Qwen-Image-2.1 через ModelScope: токен, облачный API и изображение

Бесплатный API именно Qwen-Image-2.1 доступен через ModelScope: на странице модели опубликован пример с идентификатором Qwen/Qwen-Image-2.1. Запрос выполняется асинхронно: сначала вы получаете номер задачи, затем проверяете её состояние и скачиваете готовое изображение. Это подходит для некоммерческого знакомства с моделью и разработки прототипа.

Для запуска нужны аккаунт ModelScope, привязанный к нему аккаунт Alibaba Cloud с пройденной проверкой личности, токен и достаточный баланс 魔粒 — вычислительных кредитов платформы. Бесплатный доступ не означает безлимит: правила ниже проверены 23 сентября 2026 года, а фактическое списание и доступность следует смотреть в своём аккаунте. Пример основан на публичной документации; редакция не отправляла запрос на генерацию и не подтверждала получение изображения.

Что подготовить перед первым запросом

  1. Зарегистрируйтесь или войдите в ModelScope. Заполните личные сведения и подтвердите электронную почту — это требуется для использования системы вычислительных кредитов.
  2. Привяжите аккаунт Alibaba Cloud, в котором пройдена проверка личности. Документация API-Inference указывает эту привязку и проверку как условия доступа.
  3. Откройте страницу Access Token и получите свой токен. Порядок работы с ним описан в документации ModelScope. Храните его на сервере или в локальном окружении, а не в коде браузерного приложения.
  4. На странице Qwen-Image-2.1 откройте блок API-Inference. Проверьте точное название модели и поставщика 魔搭社区 — сообщество ModelScope. У этого поставщика действует рассматриваемая бесплатная схема.
  5. Посмотрите баланс и поле 预计魔粒扣减, то есть ожидаемое списание кредитов. Эта величина нужна, чтобы оценить доступное число запросов именно для выбранной модели.

Русский язык интерфейса или статьи ничего не говорит о возможности пройти проверку личности в конкретной стране. В изученной документации нет таблицы доступности по странам; если ваш аккаунт не позволяет выполнить необходимые действия, наличие токена само по себе проблему не решит.

Отправка, ожидание и скачивание: пример на Python

У ModelScope здесь три разных результата: принятый запрос, завершённая задача и скачанный файл. Ответ с task_id подтверждает только создание задачи. Успех генерации обозначается строкой SUCCEED; адреса изображений находятся в output_images. При FAILED нужно остановиться и изучить ответ сервиса. Эти поля и заголовки взяты из примера для точной модели 2.1.

Схема асинхронной генерации: отправка запроса, сохранение номера задачи, проверка состояния и скачивание изображения

Установите зависимости в отдельном окружении:

bash
python3 -m venv .venv source .venv/bin/activate python -m pip install requests Pillow

В Linux или macOS можно ввести токен без его сохранения в истории команд:

bash
read -s MODELSCOPE_TOKEN export MODELSCOPE_TOKEN

После первой команды вставьте токен и нажмите Enter. Сохраните следующий код в generate.py. Он добавляет к документированному потоку тайм-ауты, ограничение времени ожидания и сохранение в PNG. Эти дополнения — меры удобства в примере, а не заявленные гарантии сервиса.

python
import os import time from io import BytesIO from pathlib import Path import requests from PIL import Image BASE_URL = "https://api-inference.modelscope.cn" token = os.environ.get("MODELSCOPE_TOKEN") if not token: raise SystemExit("Set MODELSCOPE_TOKEN before running this script") headers = { "Authorization": f"Bearer {token}", "Content-Type": "application/json", } # Submit only once. Poll the returned task instead of creating duplicates. response = requests.post( f"{BASE_URL}/v1/images/generations", headers={**headers, "X-ModelScope-Async-Mode": "true"}, json={ "model": "Qwen/Qwen-Image-2.1", "prompt": "A golden cat sitting on a windowsill, soft morning light", }, timeout=(10, 60), ) response.raise_for_status() task_id = response.json()["task_id"] print(f"Task ID: {task_id}", flush=True) # This local deadline does not cancel the server-side task. deadline = time.monotonic() + 600 while time.monotonic() < deadline: result = requests.get( f"{BASE_URL}/v1/tasks/{task_id}", headers={**headers, "X-ModelScope-Task-Type": "image_generation"}, timeout=(10, 60), ) result.raise_for_status() data = result.json() status = data.get("task_status") if status == "SUCCEED": images = data.get("output_images") or [] if not images: raise RuntimeError("Task succeeded but output_images is empty") # Do not send the ModelScope token to the image download host. download = requests.get(images[0], timeout=(10, 120)) download.raise_for_status() with Image.open(BytesIO(download.content)) as image: image.save("qwen-image-2-1.png", format="PNG") print(f"Saved: {Path('qwen-image-2-1.png').resolve()}") break if status == "FAILED": raise RuntimeError(f"Generation failed: {data}") time.sleep(5) else: raise TimeoutError( f"Local wait limit reached; check existing task {task_id} before retrying" )

Запустите python generate.py. При успешном выполнении скрипт выведет абсолютный путь к qwen-image-2-1.png. PNG выбран, чтобы при наличии прозрачности не потерять её при сохранении в JPEG. Это решение не означает, что приведённый запрос специально включает прозрачный фон.

Если ожидание закончилось по тайм-ауту, сохраните выведенный task_id. Истечение десяти минут в скрипте не отменяет задачу на сервере. Для проверки уже созданной задачи используйте тот же токен и запрос GET https://api-inference.modelscope.cn/v1/tasks/ВАШ_TASK_ID с заголовком X-ModelScope-Task-Type: image_generation. Повторный запуск всего скрипта создаст новую задачу; сначала выясните судьбу предыдущей.

Сколько бесплатных изображений можно получить

Фиксированное число изображений в день для Qwen-Image-2.1 по открытым данным подтвердить нельзя. Текущие правила API-Inference привязаны к балансу 魔粒, а не к старой схеме «2 000 запросов в день и 500 на одну модель». Поэтому встречающиеся в старых инструкциях числа нельзя использовать как обещанную квоту 2.1.

Иллюстрация общего баланса ModelScope: ежедневные начисления, срок действия и расходование на разные задачи

По правилам начисления кредитов действуют следующие условия:

Действие или ресурсЧто указано в текущих правилах
Ежедневный вход в аккаунт200 краткосрочных кредитов, не чаще одного раза в день
Ежедневный вход после привязки Alibaba CloudЕщё 50 краткосрочных кредитов, не чаще одного раза в день
Краткосрочные кредитыСрок действия — 24 часа с начисления; точное истечение проверяйте в аккаунте
Долгосрочные кредитыСрок действия — 90 дней
РасходованиеОбщий баланс для API-Inference, других задач генерации и обучения; сначала списываются кредиты с ближайшим сроком истечения

Документация описывает автоматическое начисление после соответствующего действия, однако мы не проверяли поступление на конкретный аккаунт. Кроме того, в таблице самой платформы краткосрочные начисления обозначены как действующие «в этот день», а в общем описании указан срок 24 часа. Для планирования ориентируйтесь на дату истечения в истории своего баланса.

В API-Inference перечислены три уровня расходования: 0,5, 1 и 2 кредита за вызов. Но в анонимно доступном блоке Qwen-Image-2.1 точная величина списания не отображалась. Нельзя выбрать для неё уровень по названию или размеру модели, разделить 250 на предполагаемую цену и назвать результат гарантированным числом картинок. Сначала проверьте ожидаемое списание в своём блоке API-Inference; затем учитывайте другие расходы и срок действия баланса.

Бесплатный сервис рассчитан на некоммерческое знакомство с моделями. Параллельность динамически меняется в зависимости от нагрузки; платформа ориентируется на нормальную работу одного одновременного запроса у разработчика. Это не основание обещать вашему приложению постоянную пропускную способность или SLA.

Если запрос не дал изображение

Не начинайте с многократной повторной отправки. Сначала определите, на каком шаге остановился процесс:

Что вы получилиЧто проверить дальше
Ошибку до получения task_idТекст ответа, токен, привязку Alibaba Cloud и завершение проверки личности; затем баланс и доступность точной модели
task_id, но ещё нет SUCCEEDПродолжить проверку этой задачи с паузой; не считать её готовой только по факту принятия
FAILEDПрочитать сведения об ошибке в ответе задачи и исправить причину перед новым запросом
HTTP 429Снизить частоту и параллельность, следовать указаниям ответа; не запускать цикл повторных генераций
SUCCEED, но файл не скачиваетсяОтдельно проверить HTTP-ответ адреса из output_images; создание изображения и загрузка файла — разные операции
Локальный тайм-аутПроверить сохранённый task_id; задача может продолжаться на сервере

При сообщении об ошибке не публикуйте токен или полный заголовок Authorization. Для разбора обычно важнее этап, статус HTTP и текст ответа без секретов.

Официальное демо через Gradio — ещё один способ попробовать

У официального Space команды Qwen есть пункт Use via API. Он позволяет обратиться к демонстрации из Python, не разворачивая модель на своей видеокарте. В публичном описании API показан метод /generate_with_enhance.

Минимальный пример по опубликованной схеме:

bash
python -m pip install gradio_client
python
from gradio_client import Client client = Client("Qwen/Qwen-Image-2.1") result = client.predict( input_images=[], original_prompt="A golden cat sitting on a windowsill, soft morning light", api_name="/generate_with_enhance", ) print(result)

Остальные параметры имеют значения по умолчанию в проверенной схеме. Результат содержит данные файла изображения, seed и переработанное описание. Если демо изменится, возьмите свежий пример в его Use via API. Мы проверили публикацию схемы и документации, но не выполнение этой генерации; постоянная бесплатная квота и гарантированная доступность из них не следуют.

Этот вызов обращается к демонстрационному Space, а не к обычному API DashScope. Сообщение на странице весов Hugging Face о том, что модель не развёрнута у Inference Providers, относится к другому механизму хостинга и не отменяет клиент Gradio.

Почему нельзя просто заменить имя модели в DashScope

В проверенном списке моделей Alibaba Model Studio, обновлённом 22 сентября 2026 года, перечислены другие поколения Qwen Image, но нет 2.1. Поэтому нельзя переносить на неё идентификатор, цену или пробную квоту версии 2.0 либо 3.0. Для инструкции выше используется токен ModelScope и адрес ModelScope; ключ другого сервиса не становится подходящим только из-за общего названия Qwen.

У сторонних поставщиков существуют отдельные API: например, Kie документирует Qwen 2.1 для генерации по тексту. Однако рекламная кнопка «попробовать бесплатно» ещё не устанавливает квоту именно для программного вызова этой модели. Перед переходом уточните, доступны ли пробные кредиты через API, какое списание установлено для 2.1 и какие проверки аккаунта требуются. Подтверждённого бесплатного количества генераций через Kie в этой статье нет.

Можно ли использовать бесплатный доступ в коммерческом приложении

Бесплатный API-Inference сообщества ModelScope предназначен для некоммерческого ознакомления и не заявлен как сервис для коммерческой нагрузки с гарантированным уровнем обслуживания. Для клиентского продукта нужны подходящий договор с поставщиком, подтверждённые условия работы с моделью и понятные ограничения API.

Отдельно от оплаты запросов действует Qwen Research License: использование материалов модели ограничено исследованием и оценкой, а для коммерческого использования предусмотрено отдельное разрешение правообладателя. Доступные для скачивания веса не означают Apache 2.0, а наличие платного API само по себе не подтверждает коммерческое разрешение его оператора. Этот вопрос также нельзя свести к универсальному выводу о правах на каждое полученное изображение — условия использования модели и конкретного сервиса нужно рассматривать отдельно.

Если задача — работать с весами на собственном оборудовании, переходите к руководству по локальному запуску Qwen-Image-2.1. Такой запуск убирает зависимость от бесплатного баланса ModelScope, но требует собственных вычислительных ресурсов и соблюдения лицензии.

#Qwen-Image-2.1#ModelScope#API#генерация изображений
Поделиться: