Família Qwen
Os modelos de texto Qwen da Alibaba Cloud, incluindo as séries Qwen3.8, Qwen3.7 e Qwen3.6, além de Qwen Flash e Qwen Plus. São chamados pela API compatível com OpenAI, e a série Qwen3.x também suporta o endpoint nativo da Anthropic. Os modelos de geração de imagens estão em Qwen-Image.
Tarefas comuns
Modelos
A lista completa de modelos e os preços atualizados estão na página de modelos ; também é possível consultá-los pela Models API. O prefixo qwen/ do ID de modelo pode ser omitido.
qwen/qwen3.8-maxAceita entrada de imagemqwen/qwen3.8-flashAceita entrada de imagemqwen/qwen3.7-plusAceita entrada de imagemqwen/qwen-flashSem thinking por padrão; somente textoOs modelos Qwen são oferecidos pelo Alibaba Cloud Model Studio (Bailian), com dois provedores, o site da China (aliyun) e o site internacional (alicloud), escolhidos automaticamente por padrão. Como indicar um provedor está em Roteamento de provedores.
Exemplos de chamada
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": "Explique em uma frase o que é idempotência."}],
extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)Modo thinking
Em nossos testes com o mesmo problema de matemática: o Qwen3.8 Flash gerou por padrão cerca de 5800 tokens de thinking e levou cerca de 1,5 minuto; o Qwen3.6 Flash gerou por padrão mais de 30 mil tokens de thinking e levou mais de 4 minutos. Com o thinking desativado, ambos responderam em poucos segundos.
Limitar o tamanho do thinking
Quando precisar de thinking mas quiser controlar tempo e custo, envie thinking_budget (limite de tokens de thinking):
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": "Encontre todos os inteiros positivos n menores que 50 para os quais n² + n + 41 não é primo."}],
extra_body={"enable_thinking": True, "thinking_budget": 1000},
)
msg = resp.choices[0].message
details = getattr(msg, "reasoning_details", None) or []
print("[thinking]", "".join(d.get("text", "") for d in details)[:200], "…")
print("[resposta]", msg.content)
print("Tokens de thinking:", resp.usage.completion_tokens_details.reasoning_tokens)- Em nossos testes,
thinking_budgeté respeitado rigorosamente: com 200, os tokens de thinking foram exatamente 200. enable_thinkingethinking_budgetnão são parâmetros padrão do SDK da OpenAI; coloque-os emextra_body. Em requisições HTTP diretas, coloque-os no nível superior do corpo da requisição.- Os tokens de thinking são cobrados pelo preço de saída, e a quantidade aparece em
usage.completion_tokens_details.reasoning_tokens.
Ler o conteúdo do thinking
- Em respostas com streaming, o conteúdo do thinking fica em
delta.reasoning_content, como na API oficial do Alibaba Cloud Model Studio. - Em respostas sem streaming, o conteúdo do thinking fica em
message.reasoning_details; concatene otextde cada item na ordem (veja o exemplo acima).
Entrada de imagem
Os modelos que aceitam entrada de imagem usam o bloco de conteúdo padrão image_url:
import base64
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
img_b64 = base64.b64encode(open("photo.png", "rb").read()).decode()
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}},
{"type": "text", "text": "Descreva esta imagem."},
]}],
extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)Qwen3.7 Max, Qwen Plus e Qwen Flash aceitam somente texto; use um dos modelos com entrada de imagem da tabela acima.
Usar no Claude Code
A série Qwen3.x e o Qwen Flash suportam o endpoint nativo da Anthropic, no endereço https://api.ofox.ai/anthropic:
https://api.ofox.ai/anthropicqwen/qwen3.8-max- Pelo endpoint Anthropic, o conteúdo do thinking é retornado em blocos
thinking. - A série Qwen3.8 gera bastante thinking; defina um
max_tokensgrande o suficiente. Em nossos testes, commax_tokensigual a 4000, a resposta pode conter apenas blocosthinking, sem a resposta. - O Qwen Plus não suporta o endpoint Anthropic, e a chamada retorna
protocol_not_supported.
Os passos completos de configuração do Claude Code estão em Configuração do Claude Code.
Saída JSON e chamada de ferramentas
response_format aceita {"type": "json_object"} e {"type": "json_schema", ...}; a chamada de ferramentas usa o parâmetro padrão tools. Ao usar json_object, deixe explícito no prompt “retorne em JSON” e os campos necessários. O formato está em Saída estruturada e Chamada de funções.
Cache de prompt
O Qwen armazena automaticamente em cache os prefixos de requisição repetidos, sem alterações na requisição. A quantidade em cache aparece em usage.prompt_tokens_details.cached_tokens, e a parte em cache é cobrada pelo preço de leitura de cache. O cache é de melhor esforço; requisições com o mesmo prefixo podem não acertar o cache.
Erros comuns
Outros erros gerais estão em Tratamento de erros.
Documentação oficial
- Alibaba Cloud Model Studio · Lista de modelos
- Alibaba Cloud Model Studio · Thinking profundo
- Alibaba Cloud Model Studio · Compatibilidade com OpenAI
A documentação oficial descreve o comportamento das chamadas diretas ao Alibaba Cloud Model Studio. Ao chamar pela OfoxAI, prevalecem os IDs de modelo e os endereços de endpoint desta página.
Perguntas frequentes
Como escrever o ID de modelo do Qwen?
O formato padrão é qwen/qwen3.8-flash; também é possível omitir o prefixo qwen/.
Como desativar o thinking do Qwen?
Envie "enable_thinking": false; no SDK da OpenAI, coloque-o em extra_body. As séries Qwen3.8, 3.7 e 3.6 vêm com thinking ativado por padrão; Qwen Flash e Qwen Plus vêm com ele desativado.
O Qwen responde muito devagar, depois de vários minutos?
A série Qwen3.x vem com thinking ativado por padrão, e perguntas complexas podem gerar dezenas de milhares de tokens de thinking. Desative o thinking ou limite seu tamanho com thinking_budget, por exemplo "thinking_budget": 1000.
Como usar o thinking_budget do Qwen?
Envie-o junto com "enable_thinking": true; o valor é o limite de tokens de thinking, por exemplo 1000. Em nossos testes, ele é respeitado rigorosamente.
Quais modelos Qwen entendem imagens?
Qwen3.8 Max, 3.8 Flash, 3.8 27B, 3.7 Plus e 3.6 Flash aceitam entrada de imagem. Qwen3.7 Max, Qwen Plus e Qwen Flash aceitam somente texto.
O Claude Code pode usar o Qwen?
Sim. Defina ANTHROPIC_BASE_URL como https://api.ofox.ai/anthropic e informe como modelo um modelo da série Qwen3.x, como qwen/qwen3.8-max. O Qwen Plus não suporta o endpoint Anthropic.
Onde fica o reasoning_content do Qwen?
Em respostas com streaming, fica em delta.reasoning_content; em respostas sem streaming, fica em message.reasoning_details, e é preciso concatenar o text de cada item.