Повечето проблеми с qwen3.8-max-free и qwen3.8-flash-free идват от три места: ограниченията за безплатния план, капацитета на кампанията, който GMI Cloud е запазил отгоре по веригата, и колко бързо токените за мислене и контекстът на агента изчерпват дневния пул от 1M токена. Някои от тях се проявяват като грешки. Други се проявяват като странен отговор или като празна квота към обяд. Към тях се добавят и обичайните грешки в API: грешен ключ или идентификатор на модел, твърде дълъг контекст, нарушена история на извикване на инструменти, JSON режим и модерация на съдържанието.
За всяка от тях има решение, а една настройка покрива повечето: резервен вариант на ниво ключ, който превключва от безплатните идентификатори към платените qwen3.8-max и qwen3.8-flash. Настройте го веднъж и претоварен горен слой, изчерпана квота или края на кампанията около 13 ноември 2026 г. (тихоокеанско време) няма да се превърнат в спиране на работата.
Бърз преглед
| Какво виждате | Вероятна причина | Решение |
|---|---|---|
| 429 след 10 заявки в минута | Ограничение на безплатния план за минута | Регулирайте темпото на заявките или използвайте резервен вариант |
| 429 за останалата част от деня | Дневно ограничение на заявки или токени | Изчакайте нулирането или използвайте резервен вариант |
| „Rate limited by provider“ | Капацитетът на кампанията е зает отгоре по веригата | Изчакайте и опитайте отново или използвайте резервен вариант |
| Съобщение, че пробният период е изчерпан | Изхарчени са 10 пробни заявки, без зареждане на баланса | Заredете поне 1 USD |
| Заявката увисва, след което изтича времето за изчакване | Максимално мислене преди първия токен | Включете поточно предаване, увеличете времето за изчакване на клиента |
| Дневните токени са изчерпани след няколко изпълнения на агент | Мислене плюс повторно изпратен контекст | Изключете мисленето, ограничете контекста |
| Безплатните идентификатори спират да работят | Кампанията е приключила или кредитите са свършили | Превключете към платените идентификатори |
Грешки от безплатния план и кампанията
429 от ограниченията на безплатния план
Какво виждате. След зареждане на баланса с 1 USD или повече безплатните модели в 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 заявки в минута с прост лимитер на честотата. За дневното ограничение или изчакайте нулирането, или настройте резервен вариант (по-долу), за да отиват излишните заявки към платения модел.
„Rate limited by provider“ – свържете се с поддръжката, за да поискате по-висока едновременност, или опитайте отново по-късно.
Какво виждате. В собствен тест на 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, затова проверявайте и двата кода.
Защо. Безплатните идентификатори работят на капацитет, който GMI Cloud е запазил за кампанията. Когато много хора извикват Max едновременно, този горен пул е пълен за известно време. Това не е вашата квота: другите безплатни модели продължават да работят със същия ключ.
Решение. Опитайте отново с експоненциално изчакване (например 30, 60 и 120 секунди). За заявки, които не могат да чакат, оставете резервния вариант да изпрати заявката към платения qwen3.8-max. Запазете tid, ако се свържете с поддръжката; той идентифицира заявката.
Отговор, който казва, че пробният период е изчерпан
Какво виждате. Никаква грешка. Новият акаунт получава общо 10 пробни заявки, споделени между всички безплатни модели. След десетата API продължава да отговаря, но отговорът е съобщение, че пробният период е изчерпан. Приложение, което показва на потребителите изхода на модела, ще им покаже именно това съобщение.
Решение. Заредете баланс с 1 USD или повече. Това превключва акаунта трайно към дневните квоти по-горе.
Изтичане на времето за изчакване на клиента при Max
Какво виждате. Заявка без поточно предаване към qwen3.8-max-free увисва и след това се проваля с време за изчакване във вашия HTTP клиент, прокси или инструмент.
Защо. Max мисли, преди да покаже първия видим токен. AIHubMix измерва около 55 секунди латентност и около 9 токена в секунда по безплатния маршрут, така че отговор от 4K токена без поточно предаване отнема около осем минути, докато пристигне наведнъж. Всеки елемент по пътя с по-кратко време за изчакване се предава първи. Резервният вариант тук не помага: според правилата на AIHubMix за резервен вариант прекъсване по време на изчакване на клиента не го задейства.
Решение. Включете поточно предаване на отговора, увеличете времето за изчакване на клиента (timeout=900 в OpenAI клиента за Python покрива дълги отговори) и използвайте Flash за всичко интерактивно.
Обичайни грешки в API
Не всяка грешка при безплатните идентификатори е свързана с квоти. Тези се срещат също толкова често, както при безплатните, така и при платените идентификатори. Според справочника си с статус кодове AIHubMix предава повечето грешки 400 директно от upstream модела. Безплатните идентификатори работят върху GMI Cloud, а платените – върху Alibaba Cloud, затова точният текст на грешка 400 може да се различава между двата маршрута. Съобщенията по-долу са цитирани от справочника на AIHubMix и от справочника с кодове за грешки на Alibaba Cloud.
| Статус | Грешка | Обичайна причина |
|---|---|---|
| 401 | Unauthorized | Грешен или липсващ ключ |
| 503 | Неправилен идентификатор на модел | Печатна грешка или идентификатор от друга платформа |
| 403 | Ключът няма права за модела | Моделът не е активиран за ключа |
| 400 | Диапазон на входната дължина | Контекстът е над лимита |
| 400 | Роля „tool“ без „tool_calls“ | Нарушена история на извикване на инструменти |
| 400 | Грешки в JSON режима | Формулировка на промпта или мислене |
| 400 | Неподходящо съдържание | Модерация на съдържанието |
401: "Unauthorized – access token is invalid or expired."
Защо. Ключът е грешен, отменен или изтекъл. Ако липсва изцяло заглавието Authorization, съобщението е „Unauthorized – no access token supplied; please log in and include a valid token.“ Обичайните причини са променлива на средата, която не е зададена в shell-а, където се изпълнява кодът, така че отива празен ключ, или ключ от друга платформа, например QwenCloud или GMI Cloud, изпратен към AIHubMix.
Решение. Проверете променливата в същия shell: echo ${AIHUBMIX_API_KEY:0:3} трябва да изведе sk-. Ключовете на AIHubMix работят само на https://aihubmix.com/v1, а ключовете от други платформи там не работят.
503: "Incorrect model ID. Please request to view the model page or you do not have permission to use this model"
Защо. Идентификаторите на моделите трябва да съвпадат точно. Безплатните идентификатори са qwen3.8-max-free и qwen3.8-flash-free, всички с малки букви и с тире преди free. Идентификатори, копирани от други платформи, например Qwen/Qwen3.8-Max от GMI Cloud, не съществуват в AIHubMix. Едно копиране и поставяне дори не връща грешка: идентификаторът qwen3.8-max от QwenCloud е валиден в 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"}]}'
Решение. Копирайте идентификатора от страницата на модела. Тъй като това връща 503, логиката за повторни опити, която третира всеки 5xx като временен, ще продължава да опитва отново печатна грешка; третирайте това съобщение като постоянно.
403: "Forbidden – key(last 6 digits of request key) not authorized to access the requested model."
Защо. Ключовете на AIHubMix може да бъдат ограничени до списък с модели. Ключ, създаден за друг проект със собствен списък с модели, не може да достигне безплатните идентификатори на Qwen3.8, докато не ги добавите.
Решение. Редактирайте ключа в управлението на API ключове и добавете qwen3.8-max-free и qwen3.8-flash-free. Ако сте настроили резервен вариант, добавете и платените резерви: резервният вариант пропуска модели, които не са в списъка на ключа.
400: "Range of input length should be [1, xxx]"
Защо. Това е съобщението на Alibaba за вход, който надхвърля контекстния лимит на модела; числото вместо xxx е самият лимит. Обичайната причина са сесиите на агенти, тъй като историята расте с всеки ход. Alibaba също отбелязва, че дълги промптове с включено мислене „може да причинят отрязване на отговора или време за изчакване на заявката“.
Решение. Съкратете историята, започнете нова сесия за нова задача или включете компактирането в инструмента си. Съкращавайте внимателно обаче, иначе ще се натъкнете на следващата грешка.
400: съобщенията с роля „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' must contain the word 'json' in some form, to use 'response_format' of type 'json_object'."
- "Json mode response is not supported when enable_thinking is true"
Защо. Първата е същото правило, което важи за JSON режима на OpenAI: промптът трябва да споменава JSON. Втората е по-важна за Qwen3.8, където мисленето е включено по подразбиране, така че заявка с json_object, която работи при други модели, може да се провали тук. Справочникът на Alibaba не посочва кои модели връщат второто съобщение, затова тествайте на идентификатора, който използвате.
Решение. Споменете 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 проверява входа и изхода на моделите, които хоства, включително платените идентификатори, към които резервният вариант изпраща заявки. Вариантите гласят „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 свършат. След това идентификаторите с -free вече не са безплатни. Кодът, който вече се връща към платените идентификатори, продължава да работи. Кодът, който извиква безплатните идентификатори директно, се нуждае от една промяна: премахнете -free от името на модела.
Настройте резервен вариант веднъж
AIHubMix може да превключва моделите на ниво шлюз, когато основният модел се провали, настройва се за всеки API ключ и не изисква промени във вашия код. Съпоставяне на модели и резервен вариант описва всички правила. За безплатните идентификатори на Qwen3.8:
- Отворете управлението на API ключове в конзолата на AIHubMix и редактирайте ключа, който използва вашето приложение.
- При „Fallback models on error“ добавете първо
qwen3.8-max, а вториqwen3.8-flash. - Продължавайте да извиквате
qwen3.8-max-freeвъв вашия код.
Не включвайте безплатните идентификатори в резервния списък. Безплатен модел може да бъде само основен модел; в резервния списък той бива тихо пропускан.
| Ситуация | Превключва ли към резервен? |
|---|---|
| Безплатният модел достига квота или лимит на честотата | Да, към платен резервен модел |
| Всички 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 посочва модела, който е отговорил, и същият е този, за който се таксувате.
Инструменти за кодиране
Всеки инструмент, който приема доставчик, съвместим с OpenAI, работи с безплатните идентификатори, включително OpenCode, Cline, Kilo Code, Qwen Code и Hermes Agent. AIHubMix има страници с инструкции за всеки от тях; ръководството за OpenCode е добра отправна точка. Стойностите са еднакви във всеки инструмент:
| Настройка | Стойност |
|---|---|
| Тип доставчик | Съвместим с OpenAI |
| Базов URL | https://aihubmix.com/v1 |
| API ключ | Вашият ключ за AIHubMix |
| Идентификатор на модел | 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-те пробни заявки
- Идентификаторът на модела е копиран точно от страницата на модела и е активиран за ключа
- Пакетните задачи са ограничени до под 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“?
Името на модела не съвпада точно с идентификатор на AIHubMix. Използвайте qwen3.8-max-free или qwen3.8-flash-free, всички с малки букви; идентификаторите от GMI Cloud или други платформи тук не съществуват. Грешката идва като 503, затова се уверете, че логиката за повторни опити не я повтаря непрекъснато.
Резервният вариант струва ли пари?
Само когато се задейства. Заявка, която е превключила към резервен вариант, се таксува по цената на платения модел, който е отговорил.
Мога ли да сложа qwen3.8-flash-free в резервния списък?
Не. Безплатните модели могат да бъдат само основен модел; AIHubMix ги пропуска в резервния списък.
Как да спра мисленето да използва безплатните ми токени?
Задайте enable_thinking на false в extra_body за заявките, които не се нуждаят от разсъждение, и проверете дали reasoning_tokens пада до 0 в блока usage.
Защо агентът ми за кодиране изчерпва дневния пул толкова бързо?
Агентите изпращат целия разговор отново при всеки ход. Ограничете прозореца на контекста, започвайте нови сесии за нови задачи и използвайте Flash като основен модел на агента.
Какво се случва с безплатните идентификатори след 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)



