DEV Community

Cover image for Qwen 3.6 no OpenRouter: Como Usar Agora Mesmo
Lucas
Lucas

Posted on • Originally published at apidog.com

Qwen 3.6 no OpenRouter: Como Usar Agora Mesmo

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.

Experimente o Apidog 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.

Qwen 3.6 Plus Preview foi lançado discretamente no OpenRouter

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

  1. Clique no avatar do perfil (canto superior direito)
  2. Selecione Chaves de API
  3. Clique em Criar Chave
  4. Dê um nome (ex: qwen-test) e confirme
  5. Copie a chave (começa com sk-or-v1-...)

Como gerar uma chave de API no OpenRouter

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."
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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}"
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

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?"))
Enter fullscreen mode Exit fullscreen mode

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.

Depurando chamadas de API do OpenRouter com Apidog

Para testar o endpoint do Qwen 3.6 no Apidog:

  1. Crie uma requisição POST para https://openrouter.ai/api/v1/chat/completions
  2. Adicione o cabeçalho Authorization: Bearer sk-or-v1-...
  3. Defina o corpo como JSON com model e messages
  4. 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,
)
Enter fullscreen mode Exit fullscreen mode
  • 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)