Большинство проблем с qwen3.8-max-free и qwen3.8-flash-free возникают из трёх источников: лимиты бесплатного тарифа, мощности кампании, которые GMI Cloud выделила на стороне провайдера, и скорость, с которой токены рассуждения и контекст агента расходуют дневной пул в 1M токенов. Некоторые из них проявляются как ошибки. Другие выглядят как странный ответ или как пустая квота к обеду. Кроме них, сохраняются и обычные ошибки API: неверный ключ или ID модели, слишком длинный контекст, сломанная история вызовов инструментов, режим JSON и модерация контента.
Для каждой проблемы есть решение, и одна настройка закрывает большинство из них: резервирование на уровне ключа, когда запросы с бесплатных ID переходят на платные qwen3.8-max и qwen3.8-flash. Настроив это один раз, вы превратите перегруженный провайдер, исчерпанную квоту или окончание кампании около 13 ноября 2026 года (по тихоокеанскому времени) из простоя в незаметную паузу.
Краткая карта
| Что вы видите | Вероятная причина | Решение |
|---|---|---|
| 429 после 10 вызовов за минуту | Бесплатный лимит в минуту | Распределите запросы во времени или включите резервирование |
| 429 на весь остаток дня | Дневной лимит запросов или токенов | Дождитесь сброса или включите резервирование |
| «Rate limited by provider» | Мощности кампании заняты на стороне провайдера | Подождите и повторите или включите резервирование |
| Ответ о том, что пробный период исчерпан | Потрачено 10 пробных вызовов, пополнения не было | Пополните баланс на $1 или больше |
| Запрос зависает, затем срабатывает таймаут | Максимальное рассуждение до первого токена | Включите потоковую передачу, увеличьте таймаут клиента |
| Дневные токены закончились после нескольких запусков агента | Рассуждение плюс повторно отправляемый контекст | Отключите рассуждение, ограничьте контекст |
| Бесплатные ID перестали работать | Кампания завершилась или закончились кредиты | Перейдите на платные ID |
Ошибки бесплатного тарифа и кампании
429 из-за лимитов бесплатного тарифа
Что вы видите. После пополнения на $1 или больше бесплатные модели AIHubMix разрешают 10 запросов в минуту, 100 в день и 1M токенов в день, общих для всего бесплатного каталога. «При превышении лимита API возвращает 429 до начала следующей минуты или дня», по данным страницы бесплатных моделей. В справочнике HTTP-кодов состояния AIHubMix сообщение для 429 по частоте запросов звучит так: «The xx model Too many requests; please try again later.»
Почему. Лимиты задаются для аккаунта, а не для модели. Пакетное задание на другой бесплатной модели расходует ту же минуту и тот же день.
Как воспроизвести. Одиннадцать быстрых запросов подряд упираются в лимит в минуту. При этом расходуются 11 из 100 дневных запросов:
for i in $(seq 1 11); do
curl -s -o /dev/null -w "%{http_code}\n" https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"qwen3.8-flash-free","messages":[{"role":"user","content":"hi"}],"max_tokens":16}'
done
Если все 11 попадут в одну минуту, первые десять вернут 200, а одиннадцатый — 429.
Решение. Держите пакетные задания в пределах 10 запросов в минуту с помощью простого ограничителя частоты. Для дневного лимита либо дождитесь сброса, либо настройте резервирование (см. ниже), чтобы избыток уходил на платную модель.
"Ограничение скорости со стороны провайдера – обратитесь в службу поддержки, чтобы запросить более высокую конкурентность, или повторите попытку позже."
Что вы видите. В собственном тесте AIHubMix 16 октября вызов qwen3.8-max-free вернул HTTP 429 с таким телом ответа, тогда как тот же ключ продолжал работать с qwen3.8-flash-free:
{"error":{"message":"Model qwen3.8-max-free rate limited by provider – contact support to request higher concurrency or try again later. (tid: …)","type":"service_unavailable","param":"","code":"rate_limit_exceeded"}}
В справочнике кодов состояния AIHubMix то же сообщение указано под кодом 503, поэтому проверяйте оба кода.
Почему. Бесплатные ID работают на мощностях, которые GMI Cloud выделила для кампании. Когда много пользователей одновременно обращаются к Max, этот пул на стороне провайдера какое-то время заполнен. Дело не в вашей квоте: другие бесплатные модели с тем же ключом продолжают работать.
Решение. Повторяйте запрос с экспоненциальной задержкой (например, 30, 60 и 120 секунд). Для запросов, которые не могут ждать, резервирование отправит их на платную qwen3.8-max. Если обратитесь в поддержку, сохраните tid: по нему идентифицируется запрос.
Ответ о том, что ваш пробный период исчерпан
Что вы видите. Никакой ошибки нет. Новый аккаунт получает 10 пробных вызовов всего, общих для всех бесплатных моделей. После десятого API продолжает отвечать, но ответ представляет собой уведомление об исчерпании пробного периода. Если приложение показывает ответы модели пользователям, они увидят это уведомление.
Решение. Пополните баланс на $1 или больше. После этого аккаунт постоянно переходит на дневные квоты, описанные выше.
Таймауты клиента на Max
Что вы видите. Непотоковый запрос к qwen3.8-max-free зависает, а затем в вашем HTTP-клиенте, прокси или инструменте завершается с таймаутом.
Почему. Max размышляет до того, как выдаст первый видимый токен. AIHubMix фиксирует около 55 секунд задержки и около 9 токенов в секунду на бесплатном маршруте, поэтому непотоковый ответ на 4K токенов целиком приходит примерно за восемь минут. Любое звено в цепочке с более коротким таймаутом сдаётся раньше. Резервирование здесь не поможет: согласно правилам резервирования AIHubMix, таймаут клиента его не запускает.
Решение. Включите потоковую передачу ответа, увеличьте таймаут клиента (timeout=900 в клиенте OpenAI для Python подходит для длинных ответов) и используйте Flash для всего интерактивного.
Типичные ошибки API
Не каждая ошибка на бесплатных ID связана с квотами. Такие же ошибки часто возникают и на бесплатных, и на платных ID. По справочнику кодов состояния AIHubMix, большинство ошибок 400 передаются от базовой модели без изменений. Бесплатные ID работают на GMI Cloud, а платные — на Alibaba Cloud, поэтому точная формулировка 400 может отличаться между маршрутами. Приведённые ниже сообщения цитируются из справочника AIHubMix и из справочника кодов ошибок Alibaba Cloud.
| Статус | Ошибка | Обычная причина |
|---|---|---|
| 401 | Unauthorized | Неверный или отсутствующий ключ |
| 503 | Неверный ID модели | Опечатка или ID другой платформы |
| 403 | Ключ не авторизован для модели | Модель не включена для ключа |
| 400 | Диапазон длины входных данных | Контекст превышает лимит |
| 400 | Роль «tool» без «tool_calls» | Сломанная история вызовов инструментов |
| 400 | Ошибки режима JSON | Формулировка промпта или рассуждение |
| 400 | Недопустимый контент | Модерация контента |
401: "Unauthorized – токен доступа недействителен или истёк."
Почему. Ключ неверный, отозван или истёк. Если заголовок Authorization вообще не передан, сообщение звучит так: «Unauthorized – no access token supplied; please log in and include a valid token.» Обычные причины: переменная окружения не задана в оболочке, где запускается код, поэтому уходит пустой ключ, либо ключ с другой платформы, например QwenCloud или GMI Cloud, отправляется на AIHubMix.
Решение. Проверьте переменную в той же оболочке: echo ${AIHUBMIX_API_KEY:0:3} должен вывести sk-. Ключи AIHubMix работают только на https://aihubmix.com/v1, а ключи других платформ там не работают.
503: "Неверный ID модели. Запросите просмотр страницы модели или у вас нет разрешения на использование этой модели"
Почему. ID модели должны совпадать точно. Бесплатные ID: qwen3.8-max-free и qwen3.8-flash-free, все в нижнем регистре, с дефисом перед free. ID, скопированные с других платформ, например Qwen/Qwen3.8-Max из GMI Cloud, на AIHubMix не существуют. Одно копирование вообще не вызывает ошибки: ID qwen3.8-max из QwenCloud — допустимый ID AIHubMix, но это платная модель, поэтому запрос молча тарифицируется.
Как воспроизвести.
curl -s https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"qwen-3.8-max-free","messages":[{"role":"user","content":"hi"}]}'
Решение. Скопируйте ID со страницы модели. Поскольку этот ответ приходит с кодом 503, логика повторов, которая считает любой 5xx временным, будет бесконечно повторять опечатку; считайте это сообщение постоянной ошибкой.
403: "Forbidden – ключ (последние 6 цифр ключа запроса) не авторизован для доступа к запрошенной модели."
Почему. Ключи AIHubMix можно ограничить списком моделей. Ключ, созданный для другого проекта со своим списком моделей, не сможет обращаться к бесплатным ID Qwen3.8, пока вы их не добавите.
Решение. Отредактируйте ключ в управлении API-ключами и добавьте qwen3.8-max-free и qwen3.8-flash-free. Если настраиваете резервирование, добавьте и платные резервные модели: резервирование пропускает модели, которых нет в списке ключа.
400: "Диапазон длины входных данных должен быть [1, xxx]"
Почему. Это сообщение Alibaba о входных данных, превышающих контекстный лимит модели; число вместо xxx и есть этот лимит. Обычная причина — сессии агента, поскольку история растёт с каждым ходом. Alibaba также отмечает, что длинные промпты при включённом рассуждении «могут привести к обрезанию ответа или таймауту запроса».
Решение. Сократите историю, начните новую сессию для новой задачи или включите сжатие контекста в вашем инструменте. Но обрезайте аккуратно, иначе получите следующую ошибку.
400: сообщения с role "tool" должны быть ответом на предыдущее сообщение с "tool_calls"
Справочник Alibaba приводит это сообщение с опечаткой как есть, а также его зеркальный вариант: «An assistant message with "tool_calls" must be followed by tool messages responding to each "tool_call_id"». Пользователи Qwen Code сообщили о первом в issue #2360.
Почему. В истории, отправленной модели, есть результат инструмента, вызов которого был обрезан, или вызов инструмента, для которого результата нет. Обычные виновники — самописная обрезка истории и сжатие контекста.
Решение. Считайте вызов инструмента и его результаты одним целым. Каждому tool_call_id в сообщении ассистента должно сразу после него соответствовать сообщение tool:
messages = [
{"role": "user", "content": "What's the weather in Hangzhou?"},
{"role": "assistant", "content": None, "tool_calls": [{
"id": "call_1", "type": "function",
"function": {"name": "get_weather", "arguments": "{\"city\": \"Hangzhou\"}"},
}]},
{"role": "tool", "tool_call_id": "call_1", "content": "{\"temp_c\": 21}"},
]
# When trimming, drop messages[1] and messages[2] together, never just one of them.
400: режим JSON
Справочник Alibaba перечисляет две ошибки режима JSON:
- "'messages' должен содержать слово 'json' в любой форме, чтобы использовать 'response_format' типа 'json_object'."
- "Ответ в режиме Json не поддерживается, когда enable_thinking равно true"
Почему. Первая ошибка соответствует правилу режима JSON у OpenAI: промпт должен упоминать JSON. Вторая важнее для Qwen3.8, где рассуждение включено по умолчанию, поэтому запрос json_object, который работает на других моделях, здесь может завершиться ошибкой. Справочник Alibaba не указывает, какие модели возвращают второе сообщение, поэтому проверьте это на используемом вами ID.
Решение. Упомяните JSON в промпте и отключите рассуждение для вызовов в режиме JSON:
curl -s https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-flash-free",
"messages": [{"role": "user", "content": "Reply in JSON with the city and date: meet in Hangzhou on Nov 3."}],
"response_format": {"type": "json_object"},
"enable_thinking": false
}'
400: «Input data may contain inappropriate content.»
Почему. Код — data_inspection_failed. Alibaba Cloud проверяет входные и выходные данные на размещённых ею моделях, в том числе на платных ID, на которые резервирование отправляет запросы. Варианты звучат как «Output data may contain inappropriate content.» или «Input or output data may contain inappropriate content.». Обычный источник — пользовательский текст, вставленный в промпт, например скопированные страницы или обращения в поддержку.
Решение. Найдите фрагмент, который вызывает ошибку, разбив входные данные на части, затем отфильтруйте его или перефразируйте. Повторная отправка того же входа даст тот же ответ.
Тихий сбой: исчерпанный пул токенов
Ошибок нет, пока пул в 1M токенов не опустеет, а затем все запросы сразу возвращают 429. Три фактора расходуют его быстрее, чем ожидаешь.
Токены рассуждения
Обе модели по умолчанию включают режим размышления, а Alibaba засчитывает размышления как выходные токены; на бесплатном маршруте эти токены идут в ваш дневной пул. В тесте AIHubMix ответ из двух предложений от qwen3.8-flash-free использовал 89 выходных токенов, из них 36 ушли на размышления. Max думает ещё больше: Artificial Analysis измерил, что на его индексе он использовал 190M выходных токенов против медианы 87M.
Для извлечения данных, форматирования и коротких справок отключайте размышления. enable_thinking — это задокументированный Alibaba переключатель для Qwen3.8; при использовании OpenAI SDK он передаётся в extra_body:
resp = client.chat.completions.create(
model="qwen3.8-flash-free",
messages=[{"role": "user", "content": "Return only the invoice number: INV-2026-0042, due Nov 3"}],
extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)
print(resp.usage.completion_tokens_details)
Проверьте, что reasoning_tokens в блоке usage снижается до 0. Если нет, переключатель не дошёл до модели на этом маршруте, и размышления всё ещё расходуют токены.
Циклы агентов повторно отправляют контекст
Программные агенты отправляют всю переписку, включая содержимое файлов и результаты инструментов, на каждом шаге. Сессия, выросшая до 40K токенов и проработавшая ещё 20 шагов, отправляет 800K входных токенов: большую часть дневного пула ещё до того, как потрачен хоть один выходной токен. Ограничьте окно контекста в настройках модели вашего инструмента, начинайте новые сессии для новых задач и используйте компактирование, если оно есть в инструменте.
Один большой запрос
И Max, и Flash принимают 1M токенов контекста, что совпадает с размером дневного пула. Один запрос, заполняющий окно, исчерпывает весь день.
Когда кампания закончится
Бесплатный период закрывается примерно 13 ноября 2026 года (по тихоокеанскому времени) или раньше, если закончатся кредиты кампании GMI Cloud. После этого ID с суффиксом -free перестанут быть бесплатными. Код, который уже переходит на платные ID в случае сбоя, продолжит работать. Код, который вызывает бесплатные ID напрямую, потребует одного изменения: убрать -free из имени модели.
Настройте резервирование один раз
AIHubMix может переключать модели на уровне шлюза, если основная модель не отвечает; это настраивается для каждого API-ключа без изменений в вашем коде. Сопоставление моделей и резервирование описывает все правила. Для бесплатных ID Qwen3.8:
- Откройте управление API-ключами в консоли AIHubMix и отредактируйте ключ, который использует ваше приложение.
- В разделе «Fallback models on error» добавьте
qwen3.8-maxпервой, аqwen3.8-flash— второй. - Продолжайте вызывать
qwen3.8-max-freeв своём коде.
Не включайте бесплатные ID в список резервных моделей. Бесплатная модель может быть только основной; в списке резервных она молча пропускается.
| Ситуация | Происходит ли переключение? |
|---|---|
| Бесплатная модель достигла квоты или лимита запросов | Да, на платную резервную модель |
| Все upstream-каналы завершились ошибкой до начала ответа | Да |
| Поток уже начался | Нет |
| Ваш клиент отключился по таймауту | Нет |
| Ваш собственный ключ недействителен или на балансе недостаточно средств | Нет |
Запросы при переключении оплачиваются по цене платной модели, поэтому держите на счёте некоторый баланс. Если запросы при переключении начинают возвращать 403 с сообщением «Your account balance is insufficient. Please recharge your account to continue using the API.», пополните счёт: резервирование не обходит ваш собственный баланс. Когда баланс опускается ниже -$1, перестают работать и бесплатные модели, пока вы не пополните счёт.
Чтобы узнать, какая модель ответила, посмотрите заголовки ответа:
curl -s -i https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"qwen3.8-max-free","messages":[{"role":"user","content":"hi"}]}' \
| grep -i -E 'x-aihubmix-(model|fallback)'
X-Aihubmix-Fallback: true означает, что запрос был переключён. X-Aihubmix-Model называет модель, которая ответила, и именно за неё вы и платите.
Инструменты для программирования
С бесплатными ID работает любой инструмент, который принимает провайдера, совместимого с OpenAI, включая OpenCode, Cline, Kilo Code, Qwen Code и Hermes Agent. У AIHubMix есть страницы настройки для каждого из них; руководство по OpenCode — хорошая отправная точка. Значения одинаковы во всех инструментах:
| Параметр | Значение |
|---|---|
| Тип провайдера | Совместим с OpenAI |
| Base URL | https://aihubmix.com/v1 |
| API key | Ваш ключ AIHubMix |
| Model ID | qwen3.8-flash-free или qwen3.8-max-free |
| Окно контекста | До 1M; задайте меньше, чтобы сберечь пул |
| Максимум вывода | До 131K |
Две известные проблемы касаются всех инструментов. Циклы агентов расходуют общий пул токенов, как описано выше. А большая задержка Max делает его медленным в роли основной модели интерактивного агента. Инструменты, где можно выбрать отдельные модели для планирования и редактирования, например режимы Plan и Act в Cline, могут назначить Max на планирование, а Flash на правки.
Быстрая проверка за 15 минут. Укажите в вашем инструменте qwen3.8-flash-free и попросите добавить один юнит-тест для небольшой функции в реальном репозитории, затем запустите тест. Успех выглядит так: агент читает файл, пишет тест, запускает его через вызов инструмента, а журнал использования AIHubMix показывает запросы к бесплатной модели по $0. Затем повторите шаг планирования на qwen3.8-max-free и проверьте, сколько времени и токенов он использовал.
Чек-лист
- Пополнено на $1 или больше, поэтому дневная квота заменяет 10 пробных вызовов
- Model ID скопирован точно со страницы модели и включён для ключа
- Пакетные задачи идут со скоростью менее 10 запросов в минуту
- Запросы к Max передаются потоком, с таймаутом клиента 10 минут или больше
- Размышления отключены для простых запросов, а reasoning_tokens проверены
- Контекст агента ограничен, для новых задач есть новые сессии
- Обрезка истории сохраняет каждый вызов инструмента и его результаты вместе
- Вызовы в JSON-режиме упоминают JSON и выполняются с отключёнными размышлениями
- Резервирование настроено: qwen3.8-max, затем qwen3.8-flash
- На счёте осталось средств для запросов при переключении
- Напоминание около 13 ноября, когда закрывается бесплатный период
Часто задаваемые вопросы
Почему я получаю 429 на qwen3.8-max-free, хотя почти не использовал его?
Либо другая бесплатная модель на вашем аккаунте исчерпала общую минуту или день, либо upstream-мощности кампании заняты. Текст ошибки подскажет, что именно: «rate limited by provider» означает upstream.
Почему запрос возвращает «Incorrect model ID»?
Имя модели не совпадает с ID AIHubMix. Используйте qwen3.8-max-free или qwen3.8-flash-free, всё строчными буквами; ID из GMI Cloud или других платформ здесь не существуют. Такая ошибка возвращается с кодом 503, поэтому убедитесь, что логика повторов её не повторяет.
Стоит ли переключение денег?
Только когда оно происходит. Запрос, который переключился, оплачивается по цене ответившей платной модели.
Можно ли добавить qwen3.8-flash-free в список резервных моделей?
Нет. Бесплатные модели могут быть только основными; AIHubMix пропускает их в списке резервных.
Как не дать размышлениям расходовать мои бесплатные токены?
Передавайте enable_thinking со значением false в extra_body для запросов, которым не нужны рассуждения, и проверяйте, что reasoning_tokens в блоке usage снижается до 0.
Почему мой агент для программирования так быстро расходует дневной пул?
Агенты повторно отправляют всю переписку на каждом шаге. Ограничьте окно контекста, начинайте новые сессии для новых задач и используйте Flash как основную модель агента.
Что будет с бесплатными ID после 13 ноября?
Они перестанут быть бесплатными, и раньше, если закончатся кредиты кампании GMI Cloud. Перейдите на qwen3.8-max или qwen3.8-flash или полагайтесь на настроенное резервирование.
Читайте дальше: серия Qwen3.8 Free
- Квоты, дата окончания и первый рабочий запрос: Бесплатный API Qwen3.8 Max и Flash на AIHubMix: лимиты, дата окончания и первый вызов
- Чтобы не ждать Max там, где справится Flash: Qwen3.8 Max Free против Qwen3.8 Flash Free: хватит ли Flash?
Источники
- Коды состояния HTTP (документация AIHubMix)
- Сопоставление моделей и резервирование (документация AIHubMix)
- Бесплатные AI-модели и квоты (AIHubMix)
- Коды ошибок (Alibaba Cloud Model Studio)
- Использование моделей с глубокими размышлениями через API (Alibaba Cloud Model Studio)



