Source: https://ailoot.ai/models/pt-pt/scaledown-summarize/
Canonical: https://ailoot.ai/models/pt-pt/scaledown-summarize/
Language: pt-pt

# ScaleDown: Summarize

[Markdown](https://ailoot.ai/models/pt-pt/scaledown-summarize/index.md) · [JSON](https://ailoot.ai/models/pt-pt/scaledown-summarize/facts.json)

## [ScaleDown: Summarize](https://ailoot.ai/models/pt-pt/scaledown-summarize/)

Summarize reescreve texto longo e documentos numa versão condensada fluente e fiel. Defina o foco, a língua, a extensão e o formato através de instruções e use depois o resultado para revisão documental, sínteses de transcrições ou contexto de recuperação mais curto. A janela publicada é de 1 000 000 de tokens, com um limite de conclusão de 4 000 tokens.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `scaledown/summarize`](https://ailoot.ai/models/pt-pt/scaledown-summarize/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `scaledown/summarize`](https://ailoot.ai/models/pt-pt/scaledown-summarize/#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.

Summarize é o modelo de resumo abstrativo da ScaleDown. Condensa texto e documentos fornecidos numa reformulação fluente, em vez de selecionar literalmente algumas frases originais. As utilizações publicadas incluem revisão documental, sínteses de transcrições e encurtamento de material recuperado antes de outro modelo o consumir.

#### Defina o que o resumo tem de conservar

Dê à tarefa um foco e um leitor previsto. Uma síntese de reunião pode conservar decisões, responsabilidades e perguntas em aberto. Uma revisão documental pode conservar as principais afirmações e as evidências que as apoiam. Um fluxo de recuperação pode conservar os factos importantes para a pergunta a que o próximo modelo vai responder.

Especifique a língua, a extensão e a organização desejadas nas instruções de conteúdo. O modelo publicado usa orientações no system prompt para essas escolhas, enquanto a sua configuração de amostragem é fixa para uma saída fiel. Um resumo para uma pessoa e uma passagem compacta para outro modelo podem, assim, usar organizações diferentes sem tratar a variação de amostragem como controlo principal.

#### Uma reformulação com factos rastreáveis

Mantenha os nomes dos documentos e os limites de secções importantes com a origem. Peça que o resumo preserve nomes, números, decisões declaradas e qualquer divergência que afete a interpretação. Para uma transcrição, distinga uma proposta de uma decisão e uma pergunta por resolver de uma ação atribuída.

Após a geração, compare o texto condensado com o material original. Verifique se alguma frase altera a certeza de uma afirmação, elimina uma condição ou combina declarações pertencentes a intervenientes ou secções diferentes. O objetivo de um resultado mais curto é tornar as evidências mais fáceis de consumir, mantendo o seu significado.

#### Documentos, imagens e contexto de recuperação

O conjunto de entradas publicado inclui texto, imagens e ficheiros como PDFs, e o modelo devolve texto. Forneça material legível e defina se a tarefa diz respeito ao documento inteiro ou a uma secção selecionada. Uma coleção beneficia de perguntas de resumo consistentes e de um identificador de documento conservado com cada resultado.

Para pré-processamento de recuperação, encurte o conteúdo em torno da pergunta específica que o raciocínio posterior tem de abordar. Conserve as passagens ou os factos que apoiam uma resposta em vez de produzir uma visão geral genérica da origem. Mantenha o material recuperado original disponível para que o resultado posterior ainda possa ser verificado face a ele.

#### Planeie a extensão da saída

A janela de contexto publicada é de 1 000 000 de tokens e o limite de conclusão é de 4 000 tokens. Defina uma extensão de resumo adequada ao resultado pretendido. Se uma coleção grande precisar de detalhe substancial, organize-a em documentos ou secções identificados e conserve um resultado separado para cada um antes de compor uma síntese ao nível da coleção.

O resultado é um resumo de texto. Valide qualquer estrutura consumida por máquina na aplicação, mantendo o resumo escrito legível para o público previsto. Guarde o resumo com a identidade da origem e as instruções que determinaram o seu foco, língua e extensão.

#### Capacidades

- Resumos abstrativos que reescrevem e condensam o material fornecido.
- Foco, língua, extensão e organização orientados por instruções.
- Configuração fixa de amostragem ajustada para uma saída fiel.
- Entradas de texto, imagem e ficheiros com saída de texto.
- Contexto publicado de 1 000 000 de tokens e limite de conclusão de 4 000 tokens.

#### Casos de utilização

- **Síntese de revisão documental** — Um documento e as conclusões que o leitor precisa de conservar. Resultado: Um resumo conciso e identificado com os factos principais preservados.
- **Síntese de transcrição** — Uma transcrição focada em decisões, responsabilidades ou perguntas em aberto. Resultado: Um texto mais curto que separa essas categorias.
- **Pré-processamento de recuperação de informação** — Conteúdo recuperado e a pergunta da etapa seguinte. Resultado: Um excerto compacto de evidências para raciocínio posterior.
- **Resumos de coleções** — Documentos nomeados com instruções de resumo comuns. Resultado: Sínteses comparáveis por documento.

#### Limites

- **Contexto** — Janela de contexto publicada: 1 000 000 de tokens.
- **Resposta** — Limite de conclusão publicado: 4 000 tokens.
- **Controlos de estilo** — Oriente o foco, a língua, a extensão e o formato através de instruções; a amostragem é fixa.
- **Contrato de saída** — A saída publicada é texto; chamadas a funções e JSON com estrutura imposta por esquema não estão listados.

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

[`scaledown/summarize`](https://ailoot.ai/models/pt-pt/#m=scaledown%2Fsummarize&route=Ultra&caller=scaledown%2Fsummarize&fmt=chat)

ScaleDown /`scaledown/summarize`

### Introdução

Summarize reescreve texto longo e documentos numa versão condensada fluente e fiel. Defina o foco, a língua, a extensão e o formato através de instruções e use depois o resultado para revisão documental, sínteses de transcrições ou contexto de recuperação mais curto. A janela publicada é de 1 000 000 de tokens, com um limite de conclusão de 4 000 tokens.

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 scaledown/summarize | 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 Depende do modelo | Predefinição— |
| Campo`messages[].content` | Tipo`string` | RequisitoOpcional | Valores e limites Aplica-se quando: Conversação textual | Predefinição— |
| Campo`stream` | Tipo`boolean` | RequisitoOpcional | Valores e limites | Predefiniçãofalse |

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 |
| Parâmetro`control_scope` | ContratoConversação textual; stream é um booleano e tem false como predefinição. |
| Parâmetro`output_modalities` | Contratotext |
| Parâmetro`hosted_operations` | Contratofalse |
| Parâmetro`multimodal_input_binding` | Contratonull |

Aliases do método: `/chat/completions`

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

Não especificado Quando o modo rápido está selecionado

Modo flex

Não especificado Quando o modo flex está selecionado

Esforço máximo de raciocínio

Não especificado 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.0001** / 1K tokens Saída · Tokens de saída **$0** / 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.0001** / 1K tokens Saída · Tokens de saída **$0** / 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 SDK

```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":"scaledown/summarize","messages":[{"role":"user","content":"hello"}],"stream":false}')

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="scaledown/summarize", messages=[{"role":"user","content":"hello"}], stream=False)
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"))
```

### 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** [`scaledown/summarize`](https://ailoot.ai/models/pt-pt/#m=scaledown%2Fsummarize&route=Ultra&caller=scaledown%2Fsummarize&fmt=chat)

#### Aliases dos caminhos dos métodos

`/chat/completions`

#### IDs de chamada relacionados

[`scaledown/summarize`](https://ailoot.ai/models/pt-pt/#m=scaledown%2Fsummarize&route=Ultra&caller=scaledown%2Fsummarize&fmt=chat)

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

[`scaledown/summarize`](https://ailoot.ai/models/pt-pt/#m=scaledown%2Fsummarize&route=Ultra&caller=scaledown%2Fsummarize&fmt=messages)

ScaleDown /`scaledown/summarize`

### Introdução

Summarize reescreve texto longo e documentos numa versão condensada fluente e fiel. Defina o foco, a língua, a extensão e o formato através de instruções e use depois o resultado para revisão documental, sínteses de transcrições ou contexto de recuperação mais curto. A janela publicada é de 1 000 000 de tokens, com um limite de conclusão de 4 000 tokens.

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 scaledown/summarize | 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

Não especificado Quando o modo rápido está selecionado

Modo flex

Não especificado Quando o modo flex está selecionado

Esforço máximo de raciocínio

Não especificado 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.0001** / 1K tokens Saída · Tokens de saída **$0** / 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.0001** / 1K tokens Saída · Tokens de saída **$0** / 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": "scaledown/summarize",
  "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': 'scaledown/summarize', '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': 'scaledown/summarize', '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** [`scaledown/summarize`](https://ailoot.ai/models/pt-pt/#m=scaledown%2Fsummarize&route=Ultra&caller=scaledown%2Fsummarize&fmt=messages)

#### Aliases dos caminhos dos métodos

`/chat/completions`

#### IDs de chamada relacionados

[`scaledown/summarize`](https://ailoot.ai/models/pt-pt/#m=scaledown%2Fsummarize&route=Ultra&caller=scaledown%2Fsummarize&fmt=messages)

FAQ · ScaleDown: Summarize

Que entradas e resultados estão disponíveis?

`POST /v1/chat/completions` · `scaledown/summarize`: `text` → `text` `POST /v1/messages` · `scaledown/summarize`: `text` → `json`, `sse`

Que campos utiliza o pedido?

`POST /v1/chat/completions` · `scaledown/summarize`: `model`, `messages`, `stream` `POST /v1/messages` · `scaledown/summarize`: `model`, `messages`, `max_tokens`, `stream`

Que limites se aplicam?

`POST /v1/chat/completions` · `scaledown/summarize`: `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.
