TL;DR
O Qwen 3.6 Plus Preview foi lançado em 30 de março de 2026, com uma janela de contexto de 1 milhão de tokens, raciocínio obrigatório (chain-of-thought) e suporte a uso de ferramentas. Ele está completamente gratuito no OpenRouter agora. Use o ID do modelo qwen/qwen3.6-plus-preview:free com qualquer cliente compatível com OpenAI para começar a enviar requisições hoje.
O modelo que apareceu discretamente
Alibaba Cloud lançou o Qwen 3.6 Plus Preview em 30 de março de 2026. Sem anúncio chamativo, sem lista de espera: apenas um novo modelo disponível no OpenRouter por $0 por milhão de tokens.
Nos primeiros dois dias, processou mais de 400 milhões de tokens de conclusão em cerca de 400.000 requisições. A resposta dos desenvolvedores: rápido.
Este guia mostra, na prática, como começar: configuração da conta, geração da chave de API, exemplos de código em cURL, Python e Node.js, além de dicas sobre onde o modelo realmente se destaca.
💡 Se você está desenvolvendo com qualquer API de IA, precisa testar e depurar essas requisições de forma confiável. O Apidog faz isso muito bem. É gratuito e funciona com qualquer API REST, incluindo o OpenRouter.
Ao final deste guia, você saberá como chamar o Qwen 3.6 gratuitamente, entenderá seus pontos fortes e limitações.
O que o Qwen 3.6 adiciona sobre a série 3.5
A evolução do Qwen 3.5 para o 3.6 trouxe três avanços práticos:
1. Janela de contexto de 1 milhão de tokens
O Qwen 3.5 ia de 32K a 128K tokens, dependendo da variante. O Qwen 3.6 suporta 1 milhão de tokens.
Na prática: 1M tokens ≈ 750.000 palavras. Isso permite analisar uma base de código completa, um ano de logs, uma biblioteca de documentos, ou um grande corpus de pesquisa em uma única requisição.
Modelos gratuitos geralmente ficam em 8K–32K. Ter 1M de tokens, de graça, é raro.
2. Raciocínio obrigatório (chain-of-thought)
Qwen 3.6 gera uma cadeia de pensamento interna antes de responder. Não é preciso instruir “pense passo a passo”. Isso facilita tarefas de codificação, resolução de problemas e geração de componentes front-end.
3. Comportamento de agente mais confiável
Na série 3.5, chamadas de ferramentas eram inconsistentes. O Qwen 3.6 corrige isso: faz chamadas de funções com tipos corretos, reduz alucinações e melhora a automação de fluxos multi-etapas.
O modelo foi ajustado especialmente para:
- Codificação de agente (geração de código multi-etapa com uso de ferramentas)
- Desenvolvimento front-end (HTML, CSS, JS)
- Resolução de problemas complexos (análise, pesquisa, resumos longos)
Como acessar o Qwen 3.6 gratuitamente
Você só precisa de:
- Conta OpenRouter
- Chave de API
Sem necessidade de cartão de crédito para modelos gratuitos.
Passo 1: Crie sua conta OpenRouter
Acesse openrouter.ai e cadastre-se com e-mail ou Google. Leva menos de dois minutos.
Não é preciso método de pagamento para modelos gratuitos. Assim que verificar o e-mail, tem acesso imediato.
Passo 2: Gere uma chave de API
- Clique no avatar do perfil (canto superior direito)
- Selecione Chaves de API
- Clique em Criar Chave
- Dê um nome (ex:
qwen-test) e confirme - Copie a chave (começa com
sk-or-v1-...)
Armazene a chave com segurança. O OpenRouter não exibe novamente.
Passo 3: Envie sua primeira requisição
ID do modelo: qwen/qwen3.6-plus-preview:free.
O endpoint e formato são os mesmos da API da OpenAI. Qualquer cliente compatível funciona sem alterações.
cURL:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer sk-or-v1-SUA_CHAVE_AQUI" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [
{
"role": "user",
"content": "Escreva uma função Python que analisa um token JWT e retorna o payload como um dicionário."
}
]
}'
Python (requests):
import requests
def call_qwen(prompt: str, api_key: str) -> str:
response = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json={
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [{"role": "user", "content": prompt}],
},
timeout=60,
)
response.raise_for_status()
return response.json()["choices"][0]["message"]["content"]
result = call_qwen(
"Escreva uma função Python que analisa um token JWT e retorna o payload.",
api_key="sk-or-v1-SUA_CHAVE_AQUI"
)
print(result)
Node.js (fetch):
async function callQwen(prompt, apiKey) {
const response = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen/qwen3.6-plus-preview:free",
messages: [{ role: "user", content: prompt }],
}),
});
if (!response.ok) {
throw new Error(`Erro do OpenRouter: ${response.status} ${await response.text()}`);
}
const data = await response.json();
return data.choices[0].message.content;
}
callQwen(
"Escreva uma função JavaScript que valida um endereço de e-mail.",
"sk-or-v1-SUA_CHAVE_AQUI"
).then(console.log);
Python com o SDK da OpenAI:
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-SUA_CHAVE_AQUI",
)
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "system",
"content": "Você é um engenheiro de backend sênior. Escreva um código limpo e pronto para produção."
},
{
"role": "user",
"content": "Escreva uma função Python que tenta novamente uma requisição HTTP falha até 3 vezes com um backoff exponencial."
}
],
)
print(response.choices[0].message.content)
Uso de ferramentas e fluxos de trabalho de agente
O Qwen 3.6 executa chamadas de ferramentas com mais confiabilidade.
Exemplo prático:
from openai import OpenAI
import json
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-SUA_CHAVE_AQUI",
)
tools = [
{
"type": "function",
"function": {
"name": "search_api_docs",
"description": "Pesquise a documentação da API por um endpoint ou parâmetro específico",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "A consulta de pesquisa"
},
"version": {
"type": "string",
"enum": ["v1", "v2", "v3"],
"description": "Versão da API a ser pesquisada"
}
},
"required": ["query"]
}
}
},
{
"type": "function",
"function": {
"name": "run_api_test",
"description": "Execute uma requisição de teste contra um endpoint da API",
"parameters": {
"type": "object",
"properties": {
"endpoint": {"type": "string"},
"method": {"type": "string", "enum": ["GET", "POST", "PUT", "DELETE"]},
"body": {"type": "object"}
},
"required": ["endpoint", "method"]
}
}
}
]
messages = [
{
"role": "user",
"content": "Encontre a documentação para o endpoint /users e execute uma requisição GET de teste contra ele."
}
]
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=messages,
tools=tools,
tool_choice="auto",
)
message = response.choices[0].message
if message.tool_calls:
for tool_call in message.tool_calls:
print(f"Ferramenta: {tool_call.function.name}")
args = json.loads(tool_call.function.arguments)
print(f"Argumentos: {json.dumps(args, indent=2)}")
else:
print(message.content)
O modelo responde com chamadas de função estruturadas. Execute as funções no seu código, envie o resultado na próxima rodada e construa fluxos multi-etapas.
Usando a janela de contexto de 1 milhão de tokens
O contexto gigante é útil para tarefas que exigem muito contexto de uma vez. Exemplos práticos:
Revisão completa da base de código
Analise toda uma base de código de uma só vez:
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-SUA_CHAVE_AQUI",
)
def load_codebase(directory: str, extensions: list[str]) -> str:
content_parts = []
for path in Path(directory).rglob("*"):
if path.suffix in extensions and path.is_file():
try:
text = path.read_text(encoding="utf-8", errors="ignore")
content_parts.append(f"--- ARQUIVO: {path} ---\n{text}\n")
except Exception:
continue
return "\n".join(content_parts)
codebase = load_codebase("./src", [".py", ".js", ".ts"])
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "user",
"content": f"Revise esta base de código e identifique:\n1. Vulnerabilidades de segurança\n2. Funções sem tratamento de erros\n3. Convenções de nomenclatura inconsistentes\n\nBase de Código:\n{codebase}"
}
],
)
print(response.choices[0].message.content)
Análise de documentos grandes
Pergunte sobre documentos extensos:
with open("annual_report_2025.txt", "r") as f:
document = f.read()
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "user",
"content": f"Extraia todas as menções de limites de taxa de API e mudanças de preço deste documento:\n\n{document}"
}
],
)
Conversa multi-turno com histórico completo
Mantenha todo o histórico do chat:
conversation = []
def chat(user_message: str) -> str:
conversation.append({"role": "user", "content": user_message})
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=conversation,
)
assistant_message = response.choices[0].message.content
conversation.append({"role": "assistant", "content": assistant_message})
return assistant_message
# Uso prático
print(chat("Estou recebendo um erro 401 da API do GitHub. Aqui está meu código..."))
print(chat("Adicionei o token, mas agora recebo um 403. O token tem escopo de repositório."))
print(chat("O repositório é privado. Quais escopos eu realmente preciso?"))
Testando requisições da API OpenRouter com Apidog
Desenvolvendo com a API do OpenRouter? Depurar requisições pode ser demorado. O Apidog é um cliente de API gratuito que facilita a construção de requisições, inspeção de respostas e automação de testes.
Para testar o endpoint do Qwen 3.6 no Apidog:
- Crie uma requisição POST para
https://openrouter.ai/api/v1/chat/completions - Adicione o cabeçalho
Authorization: Bearer sk-or-v1-... - Defina o corpo como JSON com
modelemessages - Envie e inspecione a resposta
Você pode salvar coleções, alternar IDs de modelo para comparar saídas e adicionar testes automatizados para validar a estrutura da resposta e chamar funções.
Se você está desenvolvendo integrações, ter requisições de teste no Apidog agiliza a depuração quando o modelo muda de comportamento.
Limites da camada gratuita: pontos de atenção
O Qwen 3.6 é gratuito, mas há limitações importantes:
- Limites de taxa compartilhados: Durante horários de pico (noite nos EUA), latência e erros de limite de taxa aumentam. Implemente lógica de retry para produção.
import time
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
session = requests.Session()
retry_strategy = Retry(
total=3,
backoff_factor=2,
status_forcelist=[429, 500, 502, 503, 504],
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("https://", adapter)
response = session.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": "Bearer sk-or-v1-SUA_CHAVE_AQUI"},
json={
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [{"role": "user", "content": "Olá"}],
},
timeout=30,
)
- Os dados são registrados: O OpenRouter coleta prompts e respostas para melhoria do modelo. Não envie informações sensíveis.
- Status de pré-visualização: O comportamento pode mudar. Fixe seus testes ao ID do modelo e monitore regressões.
- Apenas texto: Sem suporte a imagem, áudio ou upload de arquivos.
Casos de uso do mundo real
- Agente de revisão de código: Equipes alimentando diffs de PRs inteiros (10k+ linhas) no Qwen 3.6 receberam feedback detalhado sobre lógica, testes e segurança — viável graças aos 1M tokens.
- Geração de componentes front-end: Desenvolvedores solo usando o modelo para gerar componentes React completos, com TypeScript e CSS responsivo, direto das specs.
- Resumo de documentação de API: Equipes comparando APIs de pagamento passaram a documentação completa (100K tokens cada) em uma única requisição e receberam uma comparação estruturada.
Cadastre-se em openrouter.ai, gere sua chave e substitua por qwen/qwen3.6-plus-preview:free em qualquer cliente compatível.
Perguntas Frequentes
O Qwen 3.6 é realmente gratuito para usar?
Sim. Em março de 2026, custa $0 por milhão de tokens no OpenRouter. Isso pode mudar após a pré-visualização. Sempre confira a página de preços antes de depender do custo zero.
Qual é o limite de taxa para a camada gratuita?
O OpenRouter não publica limites exatos. Na prática, a capacidade é compartilhada. Comece com uma requisição por vez e implemente retry antes de escalar.
Posso usar o Qwen 3.6 para projetos comerciais?
Sim, o OpenRouter permite uso comercial. Confira a licença do modelo Qwen da Alibaba Cloud para restrições específicas, especialmente se for distribuir as saídas.
Por que o Qwen 3.6 demora mais para responder do que outros modelos?
Os tokens de raciocínio obrigatórios aumentam a latência. O modelo processa uma cadeia de pensamento antes de gerar a resposta, especialmente em prompts complexos. Use streaming para mostrar a saída parcial.
Existe uma maneira de desativar os tokens de raciocínio?
Não. No preview, o raciocínio é obrigatório. Se precisar de respostas mais rápidas, use variantes menores, como LLaMA 3.1 8B.
Como a janela de contexto de 1M tokens afeta o custo?
Na camada gratuita, não afeta: custa $0, mesmo para prompts enormes. Requisições muito grandes podem demorar e expirar. Use timeout de 30–60s e aumente conforme necessário.


Top comments (0)