Source: https://ailoot.ai/models/pt-pt/qwen-qwen3-next-80b-a3b-thinking/
Canonical: https://ailoot.ai/models/pt-pt/qwen-qwen3-next-80b-a3b-thinking/
Language: pt-pt

# Qwen: Qwen3 Next 80B A3B Thinking

[Markdown](https://ailoot.ai/models/pt-pt/qwen-qwen3-next-80b-a3b-thinking/index.md) · [JSON](https://ailoot.ai/models/pt-pt/qwen-qwen3-next-80b-a3b-thinking/facts.json)

## [Qwen: Qwen3 Next 80B A3B Thinking](https://ailoot.ai/models/pt-pt/qwen-qwen3-next-80b-a3b-thinking/)

Qwen3-Next-80B-A3B-Thinking é o modelo de raciocínio em texto da Qwen, com 80 mil milhões de parâmetros totais e 3 mil milhões ativados. Usa apenas thinking, atenção híbrida e especialistas esparsos em tarefas complexas, com contexto nativo de 262 144 tokens e extensão condicional para 1 010 000.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/qwen-qwen3-next-80b-a3b-thinking/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/qwen-qwen3-next-80b-a3b-thinking/#method-1)

Sobre o modelo

Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.

Destaques de Qwen3-Next: raciocínio complexo em texto

Qwen3-Next-80B-A3B-Thinking é a edição de texto de Qwen3-Next que usa exclusivamente thinking. O fabricante recomenda-a para tarefas de raciocínio muito complexas e refere que o seu thinking pode ser mais longo do que em modelos anteriores. Aceita texto e devolve texto, incluindo uma resposta explicada ou uma proposta de código. Mantenha-a distinta de Qwen3-Next-80B-A3B-Instruct e Qwen3-Coder-Next, cujos contratos non-thinking são diferentes.

A família introduz atenção híbrida que combina Gated DeltaNet e atenção com gating, especialistas de elevada esparsidade, técnicas de estabilidade como normalização de camadas centrada em zero e com decaimento de pesos, e previsão de múltiplos tokens. A Qwen também descreve estabilização da aprendizagem por reforço através de GSPO. Estas são características de treino e arquitetura; os ganhos de eficiência dependem da implementação e não devem transformar-se numa afirmação universal sobre tempo de resposta.

Visão geral do modelo

O modelo tem 80 mil milhões de parâmetros no total e ativa três mil milhões. Tem 48 camadas num padrão de três camadas de especialistas DeltaNet para uma camada de especialistas de atenção com gating. O fabricante indica 512 especialistas, dez especialistas ativados e um especialista partilhado, com pré-treino em 15 biliões de tokens seguido de pós-treino. Os parâmetros ativados não correspondem ao tamanho do checkpoint completo.

O contexto nativo é de 262 144 tokens, com extensão documentada para 1 010 000. O texto-fonte, as mensagens anteriores, as observações das ferramentas, o raciocínio e a saída final partilham o limite de sequência configurado. Para thinking complexo, o fabricante aconselha um contexto configurado superior a 131 072 sempre que possível, mesmo que uma janela menor reduza a pressão sobre a memória.

Utilizar a interface exclusivamente thinking

O template de conversa predefinido já inclui o marcador de abertura de thinking. Uma sequência devolvida pode, por isso, conter o marcador de fecho sem repetir o de abertura. Esta é a formatação normal da configuração do fabricante, não prova de que o raciocínio está ausente. O modelo suporta apenas o modo thinking; um pedido de resposta final concisa não o converte numa edição non-thinking.

Para um problema matemático ou lógico, forneça o enunciado completo, as definições, as unidades e as pressuposições permitidas. Peça uma resposta final claramente delimitada, com os passos de apoio necessários para a verificar. Para raciocínio sobre código, forneça a função relevante, a entrada e o comportamento pretendido e, depois, peça uma proposta explicada. Compare os cálculos de apoio ou a alteração proposta com as condições fornecidas e os resultados reais.

Implementação e ferramentas

Os exemplos do fabricante suportam fluxos de desenvolvimento e de ferramentas e recomendam Qwen-Agent para templates de chamadas de ferramentas e análise sintática dessas chamadas, com ferramentas configuradas ou ligadas por MCP. Defina as ferramentas permitidas, o objetivo da tarefa e a condição observável de conclusão. A aplicação executa ações externas e devolve observações reais; o modelo pode depois usar esse feedback na resposta seguinte.

A previsão de múltiplos tokens faz parte do treino, mas a sua utilização na inferência depende da implementação e não está disponível de forma generalizada em todos os fluxos de trabalho leves. Preserve essa distinção ao avaliar uma implementação. A capacidade de ferramentas ou da arquitetura, por si só, não estabelece acesso a ficheiros, fontes atuais ou a um ambiente de execução através de outra aplicação.

Texto ultralongo

A extensão documentada usa YaRN. O fabricante valida um contexto de aproximadamente um milhão de tokens e fornece uma configuração com fator quatro baseada nas 262 144 posições nativas; para cargas de trabalho de 524 288 tokens, sugere um fator de dois. A escala estática pode afetar o desempenho com textos mais curtos, pelo que deve seguir a necessidade real de entradas mais longas.

Organize uma entrada grande com limites de documentos e identificadores de código ou secções. Indique a pergunta e o produto esperado, para que o modelo possa relacionar os elementos relevantes, em vez de tratar a janela completa como substituto de uma tarefa clara. Reserve espaço para o raciocínio potencialmente longo e para o resultado final.

Orientações de geração

Best Practices recomenda temperature 0,6, top\_p 0,95, top\_k 20 e min\_p 0. Quando suportada, uma presence penalty entre zero e dois pode reduzir a repetição de texto, mas valores mais altos podem misturar línguas ou reduzir ligeiramente a qualidade. A Qwen recomenda um orçamento de geração de 32 768 tokens para a maioria das perguntas e de 81 920 para tarefas de matemática ou programação invulgarmente complexas. Estas são recomendações, não limites absolutos de saída independentes.

Especifique explicitamente o formato da resposta final, como um resultado matemático delimitado ou um campo de resposta. O fabricante recomenda manter as saídas finais sem conteúdo de thinking nas mensagens anteriores do assistente, seguindo o template deste checkpoint. As opções de preservação de raciocínio no histórico de modelos posteriores não devem ser importadas automaticamente.

Limitações relevantes

Este é um modelo exclusivamente de texto. Imagens, áudio ou vídeo necessitam de uma representação separada adequada antes de poderem servir como elementos de apoio neste fluxo de trabalho. O thinking longo e o contexto são recursos finitos, e um raciocínio detalhado não prova, por si só, um resultado correto. Verifique as pressuposições, os cálculos e o código gerado face à fonte fornecida. O resultado útil é uma resposta ou produto que pode ser revisto, com os elementos de apoio visíveis e a identidade exclusivamente thinking preservada.

Tarefa prática

### Tarefa prática

Exemplo técnico em inglês

```
Identify what a logic puzzle actually determines

Exactly one of A, B and C took a key, and exactly one statement is true. A says, 'B took it.' B says, 'C took it.' C says, 'I did not take it.' Determine every possible culprit consistent with these premises. Show a truth table and state whether the culprit is uniquely determined.
```

#### Resultado esperado

```
A three-case truth table and the complete set of consistent culprits with a uniqueness conclusion.
```

#### Verificar o resultado

```
The table checks exactly one true statement in each candidate case and preserves multiple solutions if the premises allow them.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-next-80b-a3b-thinking`

[`qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/#m=qwen%2Fqwen3-next-80b-a3b-thinking&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-thinking&fmt=chat)

Alibaba /`qwen/qwen3-next-80b-a3b-thinking`

### Introdução

Qwen3-Next-80B-A3B-Thinking é o modelo de raciocínio em texto da Qwen, com 80 mil milhões de parâmetros totais e 3 mil milhões ativados. Usa apenas thinking, atenção híbrida e especialistas esparsos em tarefas complexas, com contexto nativo de 262 144 tokens e extensão condicional para 1 010 000.

Entradas aceites

Texto

Resultados

Texto

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Entrada

`text`

Saída

`text`

Formato de saída

json ou SSE

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites qwen/qwen3-next-80b-a3b-thinking | Predefinição— |
| Campo`messages` | Tipo`message[]` | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
| Campo`messages[].role` | Tipo`string` | RequisitoObrigatório | Valores e limites Exemplos: system, user, assistant, tool, function Condições: Estes papéis são representados explicitamente pelos tipos de compatibilidade do código-fonte; o conjunto exato de papéis continua específico do modelo. Depende do modelo | Predefinição— |
| Campo`messages[].content` | Tipo`string\|content_part[]\|null` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`messages[].tool_calls` | Tipo`tool_call[]` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`messages[].tool_call_id` | Tipo`string` | RequisitoOpcional | Valores e limites Aplica-se quando: role=tool; use o ID realmente devolvido | Predefinição— |
| Campo`messages[].name` | Tipo`string` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`messages[].reasoning_content` | Tipo`string` | RequisitoOpcional | Valores e limites Aplica-se quando: Reintroduza o raciocínio realmente devolvido quando este modelo o utiliza | Predefinição— |
| Campo`messages[].reasoning_details` | Tipo`object\|array` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`max_tokens` | Tipo`integer` | RequisitoOpcional | Valores e limites Mínimo: 1 Depende do modelo | Predefinição— |
| Campo`max_completion_tokens` | Tipo`integer` | RequisitoOpcional | Valores e limites Mínimo: 1 Depende do modelo | Predefinição— |
| Campo`stream` | Tipo`boolean` | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
| Campo`stream_options.include_usage` | Tipo`boolean` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`temperature` | Tipo`number` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`top_p` | Tipo`number` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`stop` | Tipo`string\|string[]` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`tools` | Tipo`function_tool[]` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`tools[].type` | Tipo`string` | RequisitoOpcional | Valores e limites function Depende do modelo | Predefinição— |
| Campo`tools[].function.name` | Tipo`string` | RequisitoObrigatório | Valores e limites Aplica-se quando: Função fornecida como ferramenta | Predefinição— |
| Campo`tools[].function.description` | Tipo`string` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`tools[].function.parameters` | Tipo`JSON_schema` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`tool_choice` | Tipo`string\|object` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`parallel_tool_calls` | Tipo`boolean` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`response_format` | Tipo`object` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`reasoning_effort` | Tipo`string` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`reasoning` | Tipo`object` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`service_tier` | Tipo`string` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`instructions` | Tipo`string` | RequisitoOpcional | Valores e limites Campo de compatibilidade | Predefinição— |
| Campo`functions` | Tipo`function[]` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`function_call` | Tipo`string\|object` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`prompt_cache_options` | Tipo`object` | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
| Campo`modalities` | Tipo`string[]` | RequisitoOpcional | Valores e limites text | Predefinição— |
| Campo`provider` | Tipo`object` | RequisitoOpcional | Valores e limites Condições: provider.options é rejeitado nesta rota textual Ultra | Predefinição— |
| Campo`cache_control.ttl` | Tipo`string` | RequisitoOpcional | Valores e limites Condições: 1h é rejeitado nos locais efetivos da cache de prompts | Predefinição— |

Combinações de materiais de entrada

**Texto** · Texto UTF8

`messages[].content`

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, messages |
| Parâmetro`material_types` | Contratotext |
| Parâmetro`messages` | ContratoLista de mensagens com estrutura role/content |
| Parâmetro`file_material` | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
| Parâmetro`optional_controls` | Contratostream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parâmetro`control_scope` | ContratoEspecífico do modelo; as ferramentas de funções do utilizador diferem das ferramentas alojadas |
| Parâmetro`output_modalities` | Contratotext |
| Parâmetro`hosted_operations` | Contratofalse |
| Parâmetro`multimodal_input_binding` | Contratonull |

Ciclo de vida: `synchronous_or_streamed`

Envie o ID exato do modelo com messages.

O comprimento do contexto não é um limite de saída.

Um ficheiro de texto pode fornecer texto literal; as entradas de imagem/áudio/objeto de ficheiro exigem uma associação exata.

### Tarifários

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido

Tarifa normal Quando o modo rápido está selecionado

Modo flex

Tarifa normal Quando o modo flex está selecionado

Esforço máximo de raciocínio

Tarifa normal Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

#### Tarifas Ailoot

#### Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
| --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0003** / 1K tokens Saída · Tokens de saída **$0.0024** / 1K tokens Entrada · Leitura da cache **—** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0003** / 1K tokens Saída · Tokens de saída **$0.0024** / 1K tokens Entrada · Leitura da cache **—** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. [Como funcionam a reserva e a liquidação →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

### Exemplos de pedidos

#### Ailoot Ultra · OpenAI Chat

curlPython SDKStreaming em Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen/qwen3-next-80b-a3b-thinking", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='qwen/qwen3-next-80b-a3b-thinking',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='qwen/qwen3-next-80b-a3b-thinking',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Receber e guardar os resultados

#### Ailoot Ultra · OpenAI Chat

json ou SSE

##### Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve cada opção com o conteúdo, as chamadas de ferramentas e o raciocínio. Em SSE, junte os deltas por índice de opção e ferramenta e mantenha o motivo final de conclusão e os dados de utilização.

##### Se for necessário verificar a resposta original

Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`choices[].index` | Tipointeger |
| Campo`choices[].message.content` | Tipostring\|null |
| Campo`choices[].message.tool_calls` | Tipotool\_call\[\] |
| Campo`choices[].message.reasoning_content` | Tipostring |
| Campo`choices[].message.reasoning_details` | Tipoobject\|array |
| Campo`choices[].finish_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |

### Aliases

#### Aliases do modelo

**Ailoot Ultra** [`qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/#m=qwen%2Fqwen3-next-80b-a3b-thinking&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-thinking&fmt=chat)

#### Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

#### IDs de chamada relacionados

[`qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/#m=qwen%2Fqwen3-next-80b-a3b-thinking&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-thinking&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-next-80b-a3b-thinking`

[`qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/#m=qwen%2Fqwen3-next-80b-a3b-thinking&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-thinking&fmt=messages)

Alibaba /`qwen/qwen3-next-80b-a3b-thinking`

### Introdução

Qwen3-Next-80B-A3B-Thinking é o modelo de raciocínio em texto da Qwen, com 80 mil milhões de parâmetros totais e 3 mil milhões ativados. Usa apenas thinking, atenção híbrida e especialistas esparsos em tarefas complexas, com contexto nativo de 262 144 tokens e extensão condicional para 1 010 000.

Entradas aceites

Texto

Resultados

json · sse

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Entrada

`text`

Saída

`json`, `sse`

Formato de saída

JSON ou SSE

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites qwen/qwen3-next-80b-a3b-thinking | Predefinição— |
| Campo`messages` | Tipo`message[]` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`messages[].role` | Tipo`string` | RequisitoObrigatório | Valores e limites user, assistant | Predefinição— |
| Campo`messages[].content` | Tipo`string` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`max_tokens` | Tipo`integer` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`stream` | Tipo`boolean` | RequisitoOpcional | Valores e limites | Predefiniçãofalse |

Combinações de materiais de entrada

**Texto** · Texto UTF-8

`Cadeia de caracteres messages[].content`

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, messages, max\_tokens |
| Parâmetro`optional_controls` | Contratostream |
| Parâmetro`material_types` | Contratotext |
| Parâmetro`text_file_material` | ContratoLeia o documento UTF-8 real e coloque o texto na entrada indicada ou na cadeia de conteúdo da mensagem. |

Ciclo de vida: `synchronous_or_streamed`

### Tarifários

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido

Tarifa normal Quando o modo rápido está selecionado

Modo flex

Tarifa normal Quando o modo flex está selecionado

Esforço máximo de raciocínio

Tarifa normal Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

#### Tarifas Ailoot

#### Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
| --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0003** / 1K tokens Saída · Tokens de saída **$0.0024** / 1K tokens Entrada · Leitura da cache **—** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0003** / 1K tokens Saída · Tokens de saída **$0.0024** / 1K tokens Entrada · Leitura da cache **—** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. [Como funcionam a reserva e a liquidação →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

### Exemplos de pedidos

#### Ailoot Ultra · Anthropic Messages

Corpo JSON mínimo completocurl · use o seu documento UTF-8Python · guarde o resultado completo

```json
{
  "model": "qwen/qwen3-next-80b-a3b-thinking",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-next-80b-a3b-thinking', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-next-80b-a3b-thinking', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Receber e guardar os resultados

#### Ailoot Ultra · Anthropic Messages

JSON ou SSE

##### Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve todos os blocos de conteúdo, as assinaturas de raciocínio e os ID reais de utilização de ferramentas. Junte todos os deltas de blocos SSE; o primeiro bloco de texto não é a saída completa.

##### Se for necessário verificar a resposta original

Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`id` | Tipostring |
| Campo`model` | Tipostring |
| Campo`content[]` | Tipotext\|thinking\|tool\_use\|other content block |
| Campo`stop_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |

### Aliases

#### Aliases do modelo

**Ailoot Ultra** [`qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/#m=qwen%2Fqwen3-next-80b-a3b-thinking&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-thinking&fmt=messages)

#### Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

#### IDs de chamada relacionados

[`qwen/qwen3-next-80b-a3b-thinking`](https://ailoot.ai/models/pt-pt/#m=qwen%2Fqwen3-next-80b-a3b-thinking&route=Ultra&caller=qwen%2Fqwen3-next-80b-a3b-thinking&fmt=messages)

FAQ · Qwen: Qwen3 Next 80B A3B Thinking

Que entradas e resultados estão disponíveis?

`POST /v1/chat/completions` · `qwen/qwen3-next-80b-a3b-thinking`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-next-80b-a3b-thinking`: `text` → `json`, `sse`

Que campos utiliza o pedido?

`POST /v1/chat/completions` · `qwen/qwen3-next-80b-a3b-thinking`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-next-80b-a3b-thinking`: `model`, `messages`, `max_tokens`, `stream`

Que limites se aplicam?

`POST /v1/chat/completions` · `qwen/qwen3-next-80b-a3b-thinking`: `messages.min_items`: `1`

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

## A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

## Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição

Escolha um plano com desconto para os pedidos regulares.

Código promocional até 50%

Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.

Custos no histórico

O modelo, os tokens e o montante são guardados para cada pedido.

[Escolher subscrição](https://ailoot.ai/docs/pt-pt/billing/subscriptions/) · [Ver preços dos modelos](https://ailoot.ai/models/pt-pt/)

## Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial

Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.

Licença de revendedor

Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.

Documentos no site

A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

[Pedir licença de revendedor](mailto:support@ailoot.ai) · [Oferta e contrato de licença](https://ailoot.ai/legal/offer?lang=pt-pt)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
