API для Qwen: подключение Qwen 3.8 Max, цена и примеры на Python

Подключаем qwen3.8-max через OpenAI SDK, отправляем картинки, кормим длинный документ и считаем цену типичного запроса по формуле.

4 мин · · модели · API-ключи

Если вам нужен API для Qwen, самый короткий путь выглядит так: ключ из кабинета, OpenAI SDK и модель qwen3.8-max. Отдельный аккаунт у облака производителя и особый SDK не требуются: формат запроса тот же, что у chat.completions. Ниже подключение, примеры с картинками и длинным контекстом и расчёт цены.

Что такое qwen3.8-max в нашей таблице

Цифры на 18 октября 2026 (цены в долларах за 1M токенов):

Параметрqwen3.8-maxqwen3.8-flash
Вход / выход0.088 / 0.2380.038 / 0.075
Чтение кэша0.0880.038
Контекст1M1M
Картинки на входданет
Индекс силы4540

Индекс силы это Intelligence Index от Artificial Analysis; других цифр качества мы не приводим. Подходит ли модель вашей задаче, проверяйте на своих данных. Для сравнения: официальные цены на qwen3.8-max в нашей таблице 2 / 6. Актуальный список моделей и цен: GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.

Как получить ключ Qwen

Часто спрашивают про «qwen ai api key». Здесь это один ключ шлюза вида fetch_..., который работает для всех моделей, не только для Qwen.

  1. Откройте кабинет и пополните баланс (от $1: СБП, криптовалюта или карты MasterCard).
  2. В разделе API-ключи создайте ключ. Полный ключ показывается один раз.
  3. При желании ограничьте его: дневной и месячный лимит в долларах и список разрешённых моделей (allowed_models), например только qwen3.8-max.

Хранить ключ лучше в переменной окружения, а не в коде.

Первый запрос на Python

bash
pip install openai
export ZUKKO_API_KEY=fetch_ваш_ключ
bash
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.zukko.pro/v1",
    api_key=os.environ["ZUKKO_API_KEY"],
)

r = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[
        {"role": "system", "content": "Ты помощник. Отвечай кратко."},
        {"role": "user", "content": "Объясни, что такое идемпотентность запроса, в трёх предложениях."},
    ],
    max_tokens=400,
)
print(r.choices[0].message.content)
print(r.usage)

Адрес с /v1 на конце обязателен. Другие примеры на Python и работа с ошибками описаны в справке по Python.

Тот же запрос через curl

bash
curl https://api.zukko.pro/v1/chat/completions \
  -H "Authorization: Bearer $ZUKKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-max",
    "messages": [{"role": "user", "content": "Привет!"}],
    "max_tokens": 100
  }'

Стриминг

bash
stream = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": "Напиши короткое описание сервиса доставки"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices:
        delta = chunk.choices[0].delta.content
        if delta:
            print(delta, end="", flush=True)

Проверка if chunk.choices: нужна, потому что последний чанк с данными об использовании приходит с пустым списком choices.

Работа с картинками

qwen3.8-max принимает изображения на вход (а qwen3.8-flash нет). Картинку можно передать как data URL:

bash
import base64

with open("receipt.jpg", "rb") as f:
    b64 = base64.b64encode(f.read()).decode("ascii")

r = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Перечисли позиции чека и итоговую сумму в JSON."},
            {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{b64}"}},
        ],
    }],
    max_tokens=600,
)
print(r.choices[0].message.content)

Сколько токенов займёт картинка, зависит от её размера, поэтому смотрите поле usage и замерьте на нескольких файлах. Слишком большие изображения могут вернуть 413: уменьшайте их перед отправкой. Подробнее про распознавание в статье про чеки и скриншоты.

Длинный контекст

Заявленный контекст модели в таблице 1M токенов. Это не значит, что все запросы стоит делать огромными: вход оплачивается каждый раз. Если положить в запрос 500 000 токенов (большой договор или кусок кодовой базы) и получить ответ в 2000 токенов:

500 000 × 0.088 / 1 000 000 = $0.044 2000 × 0.238 / 1 000 000 = $0.000476 Итого около $0.0445.

По официальным ценам из нашей таблицы (2 / 6) тот же запрос выглядит так: 500 000 × 2 / 1 000 000 = $1.00 и 2000 × 6 / 1 000 000 = $0.012, итого $1.012. Для сравнения порядка величин этого достаточно. Но всегда учитывайте, что при повторных вопросах по одному документу вход оплачивается заново, а для qwen3.8-max цена чтения кэша (0.088) равна цене входа, то есть кэш скидки не даёт. Разбор длинных контекстов вообще есть в статье про контекстное окно в миллион токенов.

Цена типичного запроса

Допустим, 3000 токенов входа (вопрос и фрагмент текста) и 600 токенов выхода:

3000 × 0.088 / 1 000 000 = $0.000264 600 × 0.238 / 1 000 000 = $0.0001428 Итого $0.0004068, около $0.0004.

Тысяча таких запросов обойдётся примерно в $0.41 (по формуле: 1000 × 0.0004068).

Какую модель Qwen выбрать

  • qwen3.8-max: нужны картинки на вход или индекс силы выше (45 против 40).
  • qwen3.8-flash: текстовые массовые задачи, где важна цена (0.038 / 0.075). Подробнее в статье про Qwen 3.8 Flash.

Что лучше для вашей задачи, покажет прогон 20 реальных примеров на двух моделях. Утверждений о качестве мы не делаем.

Типичные ошибки

  • 401: неверный ключ.
  • 402: не хватает баланса.
  • 403, model_not_allowed_for_key: в ключе не разрешена эта модель.
  • 404, model_not_found: опечатка в названии модели (правильное: qwen3.8-max).
  • 413: слишком большой запрос, например несжатая картинка.
  • 429: лимит ключа или ограничение у провайдера модели.
  • 503: провайдер недоступен или модель выключена (model_disabled): выберите другую модель из GET /v1/models.

Точные имена моделей и цены всегда сверяйте по GET /v1/models.

Частые вопросы

Нужен ли отдельный ключ от Alibaba или другого облака?

Нет. Для обращения к qwen3.8-max через шлюз используется один ключ fetch_... из кабинета.

Поддерживает ли qwen3.8-max картинки?

Да, изображения на вход принимает qwen3.8-max. У qwen3.8-flash картинок на вход нет.

Сколько стоит тысяча запросов?

Для запроса в 3000 токенов входа и 600 выхода около $0.41 за тысячу. Реальную цифру покажет поле usage и раздел «Использование» в кабинете.

Можно ли вызвать Qwen в формате Anthropic?

Любую модель можно вызывать и в OpenAI-формате, и в Anthropic-формате. Для Qwen обычно удобнее OpenAI-формат с base_url на /v1.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.