Skip to main content
Qwen3.8-Max (qwen3.8-max) — новый флагман Alibaba Qwen, выпущенный 3 августа 2026 года. Это sparse MoE model с 2,4 трлн общих параметров, контекстным окном 1M, максимальным output 131K и нативной поддержкой ввода текста, изображений и видео. APIYI добавил его в день релиза и выполнил по нему 586 живых тестовых вызовов — матрица возможностей, поведение параметров и заметки по тарификации на этой странице основаны именно на этих тестах, а не на пересказе официальной документации.
Qwen3.8-Max доступен на APIYI: имя модели qwen3.8-max. Thinking включен по умолчанию (на уровне xhigh, а thinking tokens тарифицируются как output), поэтому для повседневного чата явно задавайте reasoning_effort="none" — в тестах это снизило output примерно со 158 tokens до 5. Для предыдущего поколения см. Серия Qwen3.6 (legacy).

Почему эта модель

17.5% ниже официальной

$1.65 за input, $4.95 за output на 1M tokens против $2/$6 у Alibaba Cloud. Акции на пополнение суммируются дополнительно.

Контекст 1M, подтверждено

На корпусах 8K / 32K / 128K с маркерами, размещенными в середине документа и в конце, оба эндпоинта точно воспроизвели все 6/6. Вызов на 128K занимает около 80 секунд.

Три модальности, одна модель

Работа с input текстом, изображениями и видео — все подтверждено как работающее; не нужно переключаться между «long-context model» и «vision model».

Значительно более сильная агентная работа

FrontierSWE вырос с 40.7 у предыдущего поколения до 73.5, DeepSWE — с 21.6 до 56.6. Цепочка вызова tools завершена, подтверждены round-trip в два раунда.

Поддержка эндпоинтов

Тарификация

За 1 млн tokens, прейскурантная цена до скидок: Акции на пополнение суммируются и позволяют снизить фактическую стоимость.

Specifications

Официальные бенчмарки: GPQA Diamond 92.6, PaperBench 93.0, OmniDocBench 1.5 92.1, Terminal-Bench 2.1 86.6, OSWorld-Verified 86.1, IFBench 82.8, FrontierSWE 73.5, SWE-bench Pro 67.7.

Управление рассуждением (самый важный раздел)

Qwen3.8-Max по умолчанию выполняет рассуждение на уровне xhigh. Токены рассуждения тарифицируются как output и часто составляют более 90% от него.

Семь значений, четыре реальных уровня

Параметр принимает 7 значений, но на практике соответствует только 4 реальным уровням: Передача max не заставляет рассуждать сильнее, чем xhigh. Любое другое значение возвращает 400 с перечнем допустимых значений.

Как выключить рассуждение

enable_thinking: false в extra_body и chat_template_kwargs: {"enable_thinking": false} эквивалентны и тоже работают.
max_tokens не ограничивает токены рассуждения. Мы задали max_tokens=1 и все равно были тарифицированы за 1,054 output tokens, из них 1,045 — за рассуждение.max_tokens только обрезает видимый ответ. Используйте reasoning_effort, чтобы управлять стоимостью — не полагайтесь на max_tokens.

thinking_budget не влияет

Передача 128 / 512 / 4096 ведет себя точно так же, как уровень low; само число игнорируется. Используйте reasoning_effort вместо этого.

Примеры кода

Python (совместимо с OpenAI SDK)

Ввод изображения

Удаленные URL-адреса изображений также работают на этом эндпоинте — просто задайте url как адрес https://....

Ввод видео

В тестировании понимание видео занимало 144–285 секунд на каждый вызов. Установите тайм-аут клиента выше 300 секунд и предпочитайте потоковую передачу или асинхронную очередь задач.
Также есть форма с последовательностью кадров, {"type": "video", "video": [frame1, frame2, ...]}, которая требует 4–8000 кадров — если кадров меньше 4, возвращается 400.

cURL

Вызов инструментов

Вызов инструментов на эндпоинте Chat Completions полностью работает: один инструмент, параллельные инструменты, двухраундовый round-trip, выбор 1 из 20 инструментов, дельты при потоковой передаче и parallel_tool_calls: false — все подтверждено.
Принудительные вызовы инструментов требуют отключенного thinking. Когда tool_choice имеет значение "required" или указывает на конкретную функцию, вам также нужно задать reasoning_effort="none" — иначе вы получите 400 (tool_choice does not support being set to required or object in thinking mode) или вызов будет пропущен без ошибки.tool_choice, установленный на "auto" / "none", не затрагивается. То же относится к n > 1.

Структурированный вывод

response_format с json_schema, строго соблюдаемым в тестировании: вложенные объекты, enums, arrays и additionalProperties: false все сработали, без дополнительных полей и без Markdown-fences.
Отключите рассуждение для структурированного вывода. Та же схема, измерено бок о бок:Соответствие было идентичным; стоимость и задержка отличаются на порядок.

Кэширование контекста

  • Порог попадания в кэш около 1,024 tokens: префикс из 818 token не сработал; 1,070 tokens и выше — срабатывали
  • Реальные многоходовые диалоги действительно попадают в кэш: при добавлении сообщений ход за ходом попадание срабатывало в каждом раунде
  • Длинные документы выигрывают сильнее всего: 98.6% входных данных в кэше при 128K, 99.3% при 32K
Не используйте поля кэша в ответе API, чтобы судить, произошло ли попадание в кэш. На некоторых маршрутах cache_read_input_tokens всегда 0, а на других в ответе вообще нет полей кэша — и при этом те же самые запросы показывают реальные чтения из кэша в записях тарификации в консоли.Доверяйте «деталям тарификации кэша» в консоли, где отдельно перечислены количество token и суммы для создания кэша (1.25x) и чтений из кэша (0.125x).
Семантика тарификации кэша не фиксирована для каждого эндпоинта — она зависит от маршрута. В ходе тестирования запросы одинаковой структуры на одном и том же маршруте в разные дни тарифицировались по двум разным схемам:Откройте один запрос в журнале консоли, и «детали тарификации кэша» покажут, какая схема была применена, а также полный расчёт. Это единственное место, где можно узнать, как был фактически тарифицирован данный вызов.
На эндпоинте Anthropic возможен неявный попадание в кэш без cache_control. Прежде чем добавлять эту метку везде, сравните фактические начисления в консоли — не считайте, что её добавление всегда дешевле.

Использование Anthropic endpoint

/v1/messages подходит для интеграции кода, но перед повторным воспроизведением истории вы обязательно должны удалить блоки thinking, иначе получите 400 (if content is list. item must be dict and key[type] should in dict).
После применения этого фильтра мы подтвердили трёхходовую память между ходами, двухраундовый обмен с инструментом и сохранение результатов инструмента в последующих ходах.

Дополнение от 2026-08-08: сам многоходовый вызов инструмента работает нормально

Специальное повторное тестирование на 300 вызовов подтверждает, что сама цепочка многоходового tool_use / tool_result работает. Единственное препятствие — блок thinking:
  • tool_result не имеет дополнительных ограничений на формат. String- или block-array content, is_error true или false, пустые результаты, результаты размером 50KB, воспроизведение не по порядку, частичное воспроизведение, поддельные tool_use_id — все 15 вариантов прошли. Управляющие символы, emoji и одна строка длиной 200,000 символов тоже прошли.
  • Никакое значение signature не поможет. Пустая строка, null, полное удаление ключа или поддельное значение — всё возвращает тот же 400. Вам нужно удалить весь блок.
  • Нагрузочный тест проходит после удаления этого блока. Автономный цикл агента с system prompt на 24K token и 8 инструментами, 12 ходов × 2 прогона, при росте контекста до 28.7K — 24/24 успешно.
  • SSE-события полные: message_start, content_block_start, content_block_delta, content_block_stop, message_delta, message_stop, а также ping. text_delta, thinking_delta, signature_delta и input_json_delta все работают корректно.
  • Не наблюдалось ни лимита запросов, ни ограничения на параллельные запросы: один и тот же запрос, повторённый 40 раз последовательно, все разы успешно завершался, а уровни параллельных запросов 1 / 4 / 8 / 16 / 32 также все завершились успешно без 429.
Готовые клиенты вроде Claude Code пока непригодны. Они дословно повторно отправляют blocks контента из history, и их поведение нельзя изменить, поэтому на первом ходе tool_use возвращается нормально, а на втором ходе возвращается 400, как только вы отправляете tool_result обратно — это самый частый отчёт о сбое для этого endpoint.Новые сборки Claude Code также отправляют thinking: {"type": "adaptive"}; некоторые маршруты принимают только enabled / disabled / auto и возвращают 400 уже на первом ходе.Используйте /v1/chat/completions вместо этого.

Что делать, если вы хотите использовать это внутри Claude Code

Для этого класса проблем вида «не работает в одном конкретном клиенте» ограничение вполне может быть на стороне модели, а не в нашей адаптации. Мы рекомендуем сначала проверить тот же сценарий на собственной платформе Alibaba Cloud Bailian (консоль: bailian.console.aliyun.com):
  • если официальный платформенный вариант тоже отклоняет это, значит, это ограничение на стороне модели, и обойти его у нас нет возможности;
  • если там это работает, а здесь нет, отправьте нам тело запроса, и мы передадим вопрос провайдеру канала.
Если ваша цель — просто выполнять работу внутри Claude Code и подобных клиентов, серия APIYI Claude или серия OpenAI — более простой путь: группа по умолчанию официально использует официальный релей и не требует дополнительной адаптации.

Другие отличия и практические замечания

  • response_format молча игнорируется (принудительно вызовите инструмент для структурированного вывода)
  • tool_choice принимает только формат OpenAI; принудительный вызов инструмента (required или именованная функция) не поддерживается в thinking mode на обоих endpoint
  • Изображения должны быть в base64; удалённые URL возвращают 400
  • reasoning_effort не имеет эффекта — используйте thinking: {"type": "disabled"}, чтобы отключить thinking
  • stop_sequences действительно обрезает, но stop_reason ошибочно сообщается как end_turn, а поле stop_sequence возвращается null, поэтому не полагайтесь на это, чтобы определить, почему генерация остановилась
  • Учет usage при потоковой передаче зависит от маршрута: на некоторых маршрутах input_tokens в message_start ненадёжно, а на других итоговое потоковое output_tokens всегда равно 0. Для точного учёта используйте usage без потоковой передачи или ваши записи тарификации
  • Измеренный верхний предел входа составляет 983,616 token; превышение возвращает Range of input length should be [1, 983616]
Задавайте щедрые таймауты. В тестах первый байт SSE приходил через 6–17 секунд, и до этого соединение было полностью молчаливым; более крупные тела запроса ещё медленнее — примерно 44 секунды при 256KB и 160 секунд при 1MB. За Docker, через bastion host или корпоративный шлюз таймаут бездействия на любом участке проявляется как «долго зависает, а затем завершается с ошибкой». Установите таймаут клиента на 300 секунд или больше.

Совместимость параметров

Лучшие практики

Повседневный чат и высоконагруженные вызовы

Явно задайте reasoning_effort="none". Измеренная задержка снизилась примерно с ~5 с до 2 с, а число выходных tokens — примерно до 1/30.

Длинные документы и кодовые базы

В тестировании 128K recall был точным, а показатели попадания в кэш для длинных документов высоки. Поместите большой документ в начало списка сообщений, а вопрос — в конец.

Извлечение данных

Ограничьте с помощью json_schema и отключите thinking. Соответствие не ухудшается.

Агенты и оркестрация инструментов

Используйте /v1/chat/completions. Не забудьте отключить thinking при принудительном вызове инструмента.

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

max_tokens ограничивает только видимый ответ, а не часть рассуждения. Мы измерили, что за 1 054 выходных tokens было списано max_tokens=1. Используйте reasoning_effort="none", чтобы контролировать затраты.
Принудительный выбор tool не поддерживается при включённом режиме рассуждения. Передайте reasoning_effort="none" вместе с ним.
Этот эндпоинт пока ещё не подключён для модели — все 30 тестовых вызовов завершились неудачей, а код ошибки чередовался между 404 и 400. Это уже сообщено upstream, и мы объявим об этом в Актуальные обновления, как только это станет доступно. Вместо этого используйте /v1/chat/completions.
Пока нет. Эндпоинт /v1/messages отклоняет сообщения истории, содержащие блоки thinking, а Claude Code воспроизводит их дословно — поэтому первый ход порождает tool_use, а второй ход возвращает 400, когда tool_result возвращается обратно. При вызове из собственного кода удалите эти блоки, и эндпоинт работает нормально.Если вам нужно работать внутри Claude Code, более простой путь — серия APIYI Claude или серия OpenAI: группа по умолчанию официально маршрутизируется и не требует дополнительной адаптации. Вы также можете сначала проверить тот же вариант использования на платформе Alibaba Cloud Bailian (bailian.console.aliyun.com); если официальная платформа тоже отклоняет его, это ограничение на стороне модели.
Это классический симптом для /v1/messages. Повторно воспроизведённое сообщение ассистента содержит блок thinking, который эндпоинт отклоняет с 400. Установка signature в пустую строку или null, либо удаление поля, не помогает — вам нужно удалить весь блок thinking.После удаления в тестировании успешно завершился 12-ходовой цикл tool при контекстном окне 24K. Сам по себе многоходовой цикл tool_use / tool_result не является проблемой.
Модель обслуживается через более чем один upstream-маршрут, и они не сообщают одинаковые поля usage: некоторые не возвращают reasoning_tokens и cached_tokens, некоторые всегда сообщают cache_read_input_tokens как 0, а некоторые всегда сообщают итоговый streamed output_tokens равным 0. Это уже передано upstream для согласования.То, что сообщает API, — это не то, что вы оплачиваете. Для точного учёта используйте детализацию тарификации по отдельному запросу в журнале консоли, где показан полный расчёт как по базовой, так и по cache-начислениям.
Понимание видео занимало 144–285 секунд на вызов; это собственное время обработки модели. Установите timeout выше 300 секунд и рассмотрите асинхронную очередь.

Связанные материалы

Измерения на этой странице получены на основе 586 live-запросов, выполненных 2026-08-03 (12:50–14:35 UTC+8). Выводы, связанные с тарификацией, основаны на полях usage, возвращаемых API, и не были построчно сверены со счетами. Поведение модели и шлюза может меняться по мере настройки каналов — считайте live-запросы источником истины.