A maioria dos problemas com qwen3.8-max-free e qwen3.8-flash-free vem de três fontes: os limites do nível gratuito, a capacidade da campanha que a GMI Cloud reservou no upstream e a rapidez com que os tokens de raciocínio e o contexto dos agentes esgotam um pool diário de 1M tokens. Alguns desses problemas aparecem como erros. Outros aparecem como uma resposta estranha ou como uma cota vazia na hora do almoço. Além deles, os erros comuns da API continuam valendo: uma chave ou ID de modelo errado, um contexto longo demais, um histórico de tool-call quebrado, o modo JSON e a moderação de conteúdo.
Cada um tem uma correção, e uma configuração cobre a maioria deles: o fallback no nível da chave, dos IDs gratuitos para os pagos qwen3.8-max e qwen3.8-flash. Configure uma vez e um upstream sobrecarregado, uma cota esgotada ou o fim da campanha, por volta de 13 de novembro de 2026 (horário do Pacífico), deixam de ser uma interrupção.
Mapa rápido
| O que você vê | Causa provável | Correção |
|---|---|---|
| 429 após 10 chamadas em um minuto | Limite gratuito por minuto | Espace as requisições ou use fallback |
| 429 pelo resto do dia | Limite diário de requisições ou tokens | Aguarde a renovação ou use fallback |
| "Rate limited by provider" | Capacidade da campanha ocupada no upstream | Aguarde e tente novamente, ou use fallback |
| Uma resposta dizendo que o teste acabou | 10 chamadas de teste gastas, sem recarga | Recarregue $1 ou mais |
| A requisição trava e depois expira | Raciocínio máximo antes do primeiro token | Use streaming e aumente o timeout do cliente |
| Tokens diários esgotados após poucas execuções de agentes | Raciocínio mais contexto reenviado | Desligue o raciocínio e limite o contexto |
| IDs gratuitos param de funcionar | Campanha encerrada ou créditos acabaram | Mude para os IDs pagos |
Erros do nível gratuito e da campanha
429 pelos limites do nível gratuito
O que você vê. Após uma recarga de $1 ou mais, os modelos gratuitos do AIHubMix permitem 10 requisições por minuto, 100 por dia e 1M tokens por dia, compartilhados em todo o catálogo gratuito. "Passado um limite, a API retorna 429 até que o próximo minuto ou dia comece", segundo a página de modelos gratuitos. A referência de códigos de status HTTP do AIHubMix lista para a frequência de requisições a mensagem de 429 "The xx model Too many requests; please try again later."
Por quê. Os limites são por conta, não por modelo. Um job em lote em outro modelo gratuito consome o mesmo minuto e o mesmo dia.
Como reproduzir. Onze requisições rápidas seguidas atingem o limite por minuto. Isso consome 11 das suas 100 requisições diárias:
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
Se as 11 caírem dentro de um mesmo minuto, as dez primeiras retornam 200 e a décima primeira retorna 429.
Correção. Mantenha os jobs em lote abaixo de 10 requisições por minuto com um limitador de taxa simples. Para o limite diário, aguarde a renovação ou configure o fallback (abaixo) para que o excedente vá ao modelo pago.
"Limite de taxa atingido pelo provedor – entre em contato com o suporte para solicitar maior concorrência ou tente novamente mais tarde."
O que você vê. No teste do próprio AIHubMix em 16 de outubro, uma chamada a qwen3.8-max-free retornou HTTP 429 com este corpo, enquanto a mesma chave continuava funcionando em 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"}}
A referência de códigos de status do AIHubMix lista a mesma mensagem sob 503, então verifique os dois códigos.
Por quê. Os IDs gratuitos rodam na capacidade que a GMI Cloud reservou para a campanha. Quando muitas pessoas chamam o Max ao mesmo tempo, esse pool upstream fica cheio por um tempo. Não é a sua cota: outros modelos gratuitos continuam funcionando com a mesma chave.
Correção. Tente novamente com backoff exponencial (por exemplo, 30, 60 e 120 segundos). Para o que não pode esperar, deixe o fallback enviar a requisição para o qwen3.8-max pago. Guarde o tid se entrar em contato com o suporte; ele identifica a requisição.
Uma resposta dizendo que seu teste acabou
O que você vê. Nenhum erro. Uma conta nova recebe 10 chamadas de teste no total, compartilhadas entre todos os modelos gratuitos. Após a décima, a API continua respondendo, mas a resposta é um aviso de que o teste acabou. Um app que mostra a saída do modelo aos usuários exibirá esse aviso.
Correção. Recarregue $1 ou mais. Isso muda a conta permanentemente para as cotas diárias acima.
Timeouts do cliente no Max
O que você vê. Uma requisição sem streaming para qwen3.8-max-free trava e depois falha no seu cliente HTTP, proxy ou ferramenta com um timeout.
Por quê. O Max pensa antes do seu primeiro token visível. O AIHubMix mede cerca de 55 segundos de latência e cerca de 9 tokens por segundo na rota gratuita, então uma resposta sem streaming de 4K tokens leva cerca de oito minutos para chegar inteira. Qualquer componente no caminho com um timeout menor desiste antes. O fallback não ajuda aqui: pelas regras de fallback do AIHubMix, um timeout do cliente não o aciona.
Correção. Use streaming na resposta, aumente o timeout do cliente (timeout=900 no cliente Python da OpenAI cobre respostas longas) e use o Flash para qualquer coisa interativa.
Erros comuns da API
Nem todo erro nos IDs gratuitos é sobre cotas. Estes aparecem com a mesma frequência, nos IDs gratuitos e pagos. O AIHubMix repassa a maioria dos erros 400 do modelo upstream, conforme sua referência de códigos de status. Os IDs gratuitos rodam na GMI Cloud e os pagos na Alibaba Cloud, então o texto exato de um 400 pode diferir entre as duas rotas. As mensagens abaixo são citadas da referência do AIHubMix e da referência de códigos de erro da Alibaba Cloud.
| Status | Erro | Causa comum |
|---|---|---|
| 401 | Unauthorized | Chave errada ou ausente |
| 503 | ID de modelo incorreto | Erro de digitação, ou ID de outra plataforma |
| 403 | Chave sem autorização para o modelo | Modelo não habilitado na chave |
| 400 | Faixa de comprimento de entrada | Contexto acima do limite |
| 400 | Role "tool" sem "tool_calls" | Histórico de tool-call quebrado |
| 400 | Erros de modo JSON | Redação do prompt ou raciocínio |
| 400 | Conteúdo inadequado | Moderação de conteúdo |
401: "Não autorizado – o token de acesso é inválido ou expirou."
Por quê. A chave está errada, revogada ou expirada. Sem nenhum cabeçalho Authorization, a mensagem é "Unauthorized – no access token supplied; please log in and include a valid token." As causas comuns são uma variável de ambiente que não está definida no shell que executa o código, então uma chave vazia é enviada, ou uma chave de outra plataforma, como QwenCloud ou GMI Cloud, enviada ao AIHubMix.
Correção. Verifique a variável no mesmo shell: echo ${AIHUBMIX_API_KEY:0:3} deve imprimir sk-. As chaves do AIHubMix só funcionam em https://aihubmix.com/v1, e chaves de outras plataformas não funcionam ali.
503: "ID de modelo incorreto. Solicite a visualização da página do modelo ou você não tem permissão para usar este modelo"
Por quê. Os IDs de modelo devem coincidir exatamente. Os IDs gratuitos são qwen3.8-max-free e qwen3.8-flash-free, todos em minúsculas, com hífen antes de free. IDs copiados de outras plataformas, como Qwen/Qwen3.8-Max da GMI Cloud, não existem no AIHubMix. Um copia e cola nem gera erro: o ID qwen3.8-max da QwenCloud é um ID válido no AIHubMix, mas é o modelo pago, então a requisição cobra silenciosamente de você.
Como reproduzir.
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"}]}'
Correção. Copie o ID da página do modelo. E como isso retorna como 503, uma lógica de retry que trata todo 5xx como temporário vai repetir um erro de digitação; trate esta mensagem como permanente.
403: "Proibido – a chave (últimos 6 dígitos da chave da requisição) não está autorizada a acessar o modelo solicitado."
Por quê. As chaves do AIHubMix podem ser limitadas a uma lista de modelos. Uma chave criada para outro projeto, com sua própria lista de modelos, não consegue acessar os IDs gratuitos do Qwen3.8 até que você os adicione.
Correção. Edite a chave em gerenciamento de chaves de API e adicione qwen3.8-max-free e qwen3.8-flash-free. Se você configurou o fallback, adicione também os backups pagos: o fallback ignora modelos fora da lista da chave.
400: "O intervalo do comprimento de entrada deve ser [1, xxx]"
Por quê. Esta é a mensagem da Alibaba para entradas acima do limite de contexto do modelo; o número no lugar de xxx é o limite. Sessões de agentes são a causa típica, já que o histórico cresce a cada turno. A Alibaba também observa que prompts longos com raciocínio ativado "podem causar truncamento da resposta ou timeout da requisição."
Correção. Corte o histórico, inicie uma nova sessão para cada nova tarefa ou ative a compactação da sua ferramenta. Corte com cuidado, porém, ou você cairá no próximo erro.
400: mensagens com role "tool" devem ser uma resposta a uma mensagem anterior com "tool_calls"
A referência da Alibaba lista esta mensagem, com o erro de digitação, junto com seu espelho: "An assistant message with "tool_calls" must be followed by tool messages responding to each "tool_call_id"". Usuários do Qwen Code relataram a primeira na issue #2360.
Por quê. O histórico enviado ao modelo tem um resultado de tool cuja tool call foi removida, ou uma tool call cujo resultado está ausente. Cortes manuais de histórico e compactação de contexto são os principais culpados.
Correção. Trate uma tool call e seus resultados como uma unidade. Cada tool_call_id em uma mensagem do assistente precisa de uma mensagem tool correspondente logo depois:
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: modo JSON
A referência da Alibaba lista dois erros do modo JSON:
- "'messages' deve conter a palavra 'json' de alguma forma para usar 'response_format' do tipo 'json_object'."
- "A resposta no modo Json não é suportada quando enable_thinking é true"
Por quê. O primeiro é a mesma regra do modo JSON da OpenAI: o prompt precisa mencionar JSON. O segundo importa mais para o Qwen3.8, em que o raciocínio vem ativado por padrão, então uma requisição json_object que funciona em outros modelos pode falhar aqui. A referência da Alibaba não lista quais modelos retornam a segunda mensagem, então teste no ID que você usa.
Correção. Mencione JSON no prompt e desative o raciocínio nas chamadas em modo 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."
Por quê. O código é data_inspection_failed. A Alibaba Cloud filtra entradas e saídas nos modelos que hospeda, o que inclui os IDs pagos para os quais o fallback envia as requisições. As variantes dizem "Output data may contain inappropriate content." ou "Input or output data may contain inappropriate content." O gatilho típico é texto de usuários colado no prompt, como páginas raspadas ou tickets de suporte.
Correção. Encontre o trecho que aciona o erro dividindo a entrada e, então, filtre ou reformule esse trecho. Reenviar a mesma entrada dá a mesma resposta.
A falha silenciosa: um pool de tokens esgotado
Nada dá erro até o pool de 1M tokens esvaziar, e então tudo retorna 429 de uma vez. Três coisas o esgotam mais rápido do que o esperado.
Tokens de raciocínio
Ambos os modelos pensam por padrão, e a Alibaba cobra o raciocínio como tokens de saída; na rota gratuita, esses tokens contam para o seu pool diário. No teste da AIHubMix, uma resposta de duas frases do qwen3.8-flash-free usou 89 tokens de saída, 36 deles em raciocínio. O Max pensa ainda mais: a Artificial Analysis mediu que ele usou 190M tokens de saída no seu índice, contra uma mediana de 87M.
Para extração, formatação e consultas curtas, desative o raciocínio. enable_thinking é o interruptor documentado pela Alibaba para o Qwen3.8; com o SDK da OpenAI, ele vai dentro de 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)
Verifique se reasoning_tokens no bloco de uso cai para 0. Se não cair, o interruptor não chegou ao modelo naquela rota, e o raciocínio continua consumindo tokens.
Loops de agentes reenviam o contexto
Agentes de programação enviam a conversa inteira, incluindo o conteúdo de arquivos e os resultados de ferramentas, a cada turno. Uma sessão que cresceu para 40K tokens e rodou mais 20 turnos envia 800K tokens de entrada: a maior parte do pool de um dia antes de qualquer saída. Limite a janela de contexto nas configurações de modelo da sua ferramenta, abra sessões novas para tarefas novas e use compactação, se a sua ferramenta tiver.
Uma única requisição grande
Max e Flash aceitam 1M tokens de contexto, o mesmo tamanho do pool diário. Uma única requisição que preencha a janela consome o dia inteiro.
Quando a campanha terminar
A janela gratuita fecha por volta de 13 de novembro de 2026 (horário do Pacífico), ou antes, se os créditos da campanha da GMI Cloud acabarem. Depois disso, os IDs com -free deixam de ser gratuitos. Código que já faz fallback para os IDs pagos continua funcionando. Código que chama os IDs gratuitos diretamente precisa de uma mudança: remover -free do nome do modelo.
Configure o fallback uma vez
A AIHubMix pode trocar de modelo no gateway quando o modelo principal falha, configurado por chave de API, sem nenhuma mudança no seu código. Mapeamento de modelos e fallback cobre as regras completas. Para os IDs gratuitos do Qwen3.8:
- Abra o gerenciamento de chaves de API no console da AIHubMix e edite a chave que o seu app usa.
- Em "Fallback models on error", adicione
qwen3.8-maxprimeiro eqwen3.8-flashem segundo. - Continue chamando
qwen3.8-max-freeno seu código.
Deixe os IDs gratuitos fora da lista de backup. Um modelo gratuito só pode ser o modelo principal; na lista de backup, ele é ignorado silenciosamente.
| Situação | Faz fallback? |
|---|---|
| Modelo gratuito atinge uma cota ou limite de taxa | Sim, para um backup pago |
| Todos os canais upstream falham antes de a resposta começar | Sim |
| O stream já começou | Não |
| Seu cliente atingiu o timeout | Não |
| Sua própria chave é inválida ou está sem saldo | Não |
Requisições de fallback são cobradas pelo preço do modelo pago, então mantenha algum saldo na conta. Se as requisições de fallback começarem a falhar com 403 "Your account balance is insufficient. Please recharge your account to continue using the API.", recarregue: o fallback não contorna o seu próprio saldo. Quando o saldo cair abaixo de -$1, os modelos gratuitos também param de funcionar, até você recarregar.
Para ver qual modelo respondeu, leia os cabeçalhos da resposta:
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 significa que a requisição fez fallback. X-Aihubmix-Model indica o modelo que respondeu, que também é o que será cobrado.
Ferramentas de programação
Qualquer ferramenta que aceite um provedor compatível com OpenAI funciona com os IDs gratuitos, incluindo OpenCode, Cline, Kilo Code, Qwen Code e Hermes Agent. A AIHubMix tem páginas de configuração para cada uma; o guia do OpenCode é um bom ponto de partida. Os valores são os mesmos em todas as ferramentas:
| Configuração | Valor |
|---|---|
| Tipo de provedor | Compatível com OpenAI |
| URL base | https://aihubmix.com/v1 |
| Chave de API | Sua chave da AIHubMix |
| ID do modelo | qwen3.8-flash-free ou qwen3.8-max-free |
| Janela de contexto | Até 1M; defina um valor menor para economizar o pool |
| Saída máxima | Até 131K |
Dois problemas conhecidos valem para todas as ferramentas. Loops de agentes esgotam o pool de tokens compartilhado, como descrito acima. E a latência alta do Max o torna lento como modelo principal em um agente interativo. Ferramentas que permitem escolher modelos separados para planejamento e edição, como os modos Plan e Act do Cline, podem colocar o Max no planejamento e o Flash nas edições.
Um teste rápido de 15 minutos. Aponte sua ferramenta para qwen3.8-flash-free e peça que ela adicione um teste unitário para uma pequena função em um repositório real, depois execute o teste. O sucesso tem esta cara: o agente lê o arquivo, escreve o teste, o executa por meio de uma chamada de ferramenta, e o log de uso da AIHubMix mostra as requisições no modelo gratuito com custo de $0. Depois, repita a etapa de planejamento no qwen3.8-max-free e confira o tempo e os tokens que ele usou.
Checklist
- Recarga de $1 ou mais, para que a cota diária substitua as 10 chamadas de teste
- ID do modelo copiado exatamente da página do modelo e habilitado na chave
- Jobs em lote limitados a menos de 10 requisições por minuto
- Requisições do Max em stream, com timeout no cliente de 10 minutos ou mais
- Raciocínio desativado para requisições simples, e reasoning_tokens verificado
- Contexto do agente limitado, com sessões novas para tarefas novas
- Poda do histórico mantém cada chamada de ferramenta e seus resultados juntos
- Chamadas em modo JSON mencionam JSON e rodam com raciocínio desativado
- Fallback configurado para qwen3.8-max, depois qwen3.8-flash
- Algum saldo restante para as requisições de fallback
- Um lembrete para por volta de 13 de novembro, quando a janela gratuita fechar
FAQ
Por que recebo 429 no qwen3.8-max-free quando mal usei?
Ou outro modelo gratuito da sua conta esgotou o minuto ou o dia compartilhados, ou a capacidade upstream da campanha está ocupada. A mensagem de erro indica qual é o caso: "rate limited by provider" significa o upstream.
Por que minha requisição retorna "Incorrect model ID"?
O nome do modelo não corresponde exatamente a um ID da AIHubMix. Use qwen3.8-max-free ou qwen3.8-flash-free, tudo em minúsculas; IDs da GMI Cloud ou de outras plataformas não existem aqui. O erro volta como 503, então garanta que a lógica de retry não fique repetindo a requisição.
O fallback custa dinheiro?
Só quando acontece. Uma requisição que faz fallback é cobrada pelo preço do modelo pago que respondeu.
Posso colocar o qwen3.8-flash-free na lista de fallback?
Não. Modelos gratuitos só podem ser o modelo principal; a AIHubMix os ignora na lista de backup.
Como impedir que o raciocínio consuma meus tokens gratuitos?
Passe enable_thinking com valor false em extra_body nas requisições que não precisam de raciocínio, e verifique se reasoning_tokens cai para 0 no bloco de uso.
Por que meu agente de programação esgota o pool diário tão rápido?
Agentes reenviam a conversa inteira a cada turno. Limite a janela de contexto, abra novas sessões para tarefas novas e use o Flash como modelo principal do agente.
O que acontece com os IDs gratuitos depois de 13 de novembro?
Eles deixam de ser gratuitos, e antes disso se os créditos da campanha da GMI Cloud acabarem. Mude para qwen3.8-max ou qwen3.8-flash, ou conte com o fallback que você configurou.
Continue lendo: a série Qwen3.8 Free
- Para as regras de cota, a data de encerramento e uma primeira requisição funcionando: API gratuita do Qwen3.8 Max e Flash na AIHubMix: limites, data de término e sua primeira chamada
- Para parar de esperar pelo Max em tarefas que o Flash dá conta: Qwen3.8 Max Free vs Qwen3.8 Flash Free: o Flash é suficiente?
Fontes
- Códigos de status HTTP (documentação da AIHubMix)
- Mapeamento de modelos e fallback (documentação da AIHubMix)
- Modelos de IA gratuitos e cotas (AIHubMix)
- Códigos de erro (Alibaba Cloud Model Studio)
- Usar modelos de raciocínio profundo via API (Alibaba Cloud Model Studio)



