Source: https://ailoot.ai/models/pt-pt/farui-plus/
Canonical: https://ailoot.ai/models/pt-pt/farui-plus/
Language: pt-pt

# farui-plus

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

## [farui-plus](https://ailoot.ai/models/pt-pt/farui-plus/)

Tongyi FaRui Plus, da Alibaba, é um modelo de texto especializado em questões jurídicas, análise de casos, redação de documentos jurídicos e revisão de contratos. Prepare os factos e as cláusulas pertinentes em texto e, depois, utilize uma pergunta focada ou um diálogo para obter uma análise escrita ou um rascunho.

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

#### Um modelo de texto para o setor jurídico

Tongyi FaRui Plus, identificado pelo produtor como farui-plus, é construído sobre a base Qwen e especializado com dados e conhecimento jurídicos. O fabricante descreve um desenvolvimento com ajuste fino do modelo, aprendizagem por reforço, geração aumentada por recuperação e tecnologia de agentes jurídicos. O seu âmbito de tarefas inclui questões jurídicas, identificação de disposições legais aplicáveis, análise de casos, geração de documentos jurídicos e revisão de cláusulas contratuais.

A entrada e a saída documentadas são texto. Prepare a passagem, os factos ou as cláusulas a analisar como texto legível e especifique o resultado pretendido. Um resultado útil pode ser um rascunho de secção, uma lista de questões, uma explicação de uma disposição fornecida ou uma comparação entre formulações contratuais.

#### Prepare um pedido único ou um diálogo contínuo

Os exemplos do produtor suportam uma instrução única ou uma conversa baseada em mensagens. As mensagens contêm um papel e conteúdo; a instrução de sistema opcional surge primeiro, seguida de turnos do utilizador e do assistente. O guia recomenda mensagens para um diálogo contínuo, preservando as respostas anteriores pertinentes quando um pedido de seguimento altera um facto ou requisito.

Para uma pergunta sobre um caso, forneça os papéis das partes, a cronologia, a questão em litígio e as evidências pertinentes para a pergunta. Indique a jurisdição e a data relevantes para a tarefa e inclua o texto jurídico a examinar quando a resposta tiver de assentar numa disposição específica. Mantenha um facto afirmado separado de uma alegação contestada ou de um pressuposto.

Num pedido de seguimento, identifique exatamente o que mudou. Por exemplo, forneça uma data corrigida ou uma cláusula adicional e pergunte que parte do rascunho anterior precisa de revisão. Preservar a resposta anterior efetiva torna concreta a alteração pedida, em vez de convidar a uma nova análise de um caso incompleto.

#### Peça uma análise ou um rascunho de documento

Para uma questão jurídica, defina o problema e a forma da resposta. Peça a conclusão, a disposição que a sustenta e os factos que alterariam a análise. Quando a fonte não estabelecer um pormenor importante, peça que o resultado identifique essa informação em falta.

Para redação, especifique o tipo de documento, o público pretendido, as secções obrigatórias e os factos fornecidos. Uma instrução útil é: «Redija a secção pedida utilizando esta cronologia e estes factos, preserve os papéis definidos das partes e identifique a informação ainda necessária para completar o documento.» Confira os nomes, as datas, os montantes e as disposições citadas com o material original.

Para revisão de contratos, forneça a cláusula exata e a preocupação a examinar. Peça uma comparação da redação, da questão que suscita e de uma revisão proposta que preserve o sentido comercial pretendido. Mantenha a cláusula original junto do texto proposto, para que a alteração possa ser inspecionada.

#### Trabalhe dentro dos limites de resposta documentados

A visão geral publicada do modelo indica uma entrada máxima de 12 000 tokens e uma saída máxima de 2 000 tokens. Selecione os excertos pertinentes e uma extensão de resposta adequada à tarefa, deixando espaço para a resposta pedida na configuração de conversa aplicável. Uma revisão de contrato extensa pode ser dividida em questões ou secções claramente identificadas, preservando qualquer cláusula necessária para compreender a relação entre elas.

A definição de extensão de resposta do produtor pode reduzir o limite de saída para uma explicação concisa ou uma secção específica de rascunho. O valor predefinido documentado é de 2 000 tokens. Verifique se uma resposta devolvida está completa antes de a tratar como um documento concluído.

#### Escolha as definições de geração e entrega

A referência do produtor documenta top\_p no intervalo aberto entre 0 e 1, com 0,8 como valor predefinido. A definição top\_k restringe o conjunto de candidatos; deixá-la por definir ou defini-la acima de 100 desativa essa estratégia. Mantenha a tarefa e o material de origem estáveis ao comparar o efeito de uma definição de geração suportada.

O fluxo de trabalho predefinido não utiliza transmissão contínua. A transmissão contínua entrega texto enquanto a geração prossegue. Os blocos de transmissão predefinidos documentados contêm conteúdo acumulado; ativar a saída incremental devolve, em alternativa, apenas as novas partes. Monte corretamente o formato escolhido, para que o texto cumulativo repetido não seja acrescentado duas vezes, e preserve a resposta concluída para revisão.

A resposta pode utilizar um envelope de texto ou de mensagem. O envelope é a estrutura de entrega que envolve o texto jurídico gerado; a tabela de capacidades do modelo não enumera saída estruturada imposta por esquema, chamadas de funções nem pesquisa nativa na Web. Forneça as evidências e as disposições necessárias para a tarefa, em vez de presumir que ocorreu uma consulta externa.

#### Mantenha a análise passível de inspeção

Preserve em conjunto o texto de origem, os factos fornecidos, a forma de documento pedida e a resposta final. Verifique a redação efetiva das referências e a jurisdição ou a data de que depende uma interpretação. Uma comparação de cláusulas ou uma explicação de caso é mais útil quando os seus pressupostos e as passagens que a sustentam continuam identificáveis.

Utilize Farui Plus para o seu fluxo de trabalho específico de texto jurídico. O resultado final deve ligar a questão jurídica ou o rascunho pedido ao material efetivamente fornecido.

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

[`farui-plus`](https://ailoot.ai/models/pt-pt/#m=farui-plus&route=Ultra&caller=farui-plus&fmt=chat)

Outro /`farui-plus`

### Introdução

Tongyi FaRui Plus, da Alibaba, é um modelo de texto especializado em questões jurídicas, análise de casos, redação de documentos jurídicos e revisão de contratos. Prepare os factos e as cláusulas pertinentes em texto e, depois, utilize uma pergunta focada ou um diálogo para obter uma análise escrita ou um rascunho.

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 farui-plus | 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

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.0058** / 1K tokens Saída · Tokens de saída **$0.0058** / 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.0058** / 1K tokens Saída · Tokens de saída **$0.0058** / 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":"farui-plus","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="farui-plus", 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** [`farui-plus`](https://ailoot.ai/models/pt-pt/#m=farui-plus&route=Ultra&caller=farui-plus&fmt=chat)

#### Aliases dos caminhos dos métodos

`/chat/completions`

#### IDs de chamada relacionados

[`farui-plus`](https://ailoot.ai/models/pt-pt/#m=farui-plus&route=Ultra&caller=farui-plus&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `farui-plus`

[`farui-plus`](https://ailoot.ai/models/pt-pt/#m=farui-plus&route=Ultra&caller=farui-plus&fmt=messages)

Outro /`farui-plus`

### Introdução

Tongyi FaRui Plus, da Alibaba, é um modelo de texto especializado em questões jurídicas, análise de casos, redação de documentos jurídicos e revisão de contratos. Prepare os factos e as cláusulas pertinentes em texto e, depois, utilize uma pergunta focada ou um diálogo para obter uma análise escrita ou um rascunho.

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 farui-plus | 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.0058** / 1K tokens Saída · Tokens de saída **$0.0058** / 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.0058** / 1K tokens Saída · Tokens de saída **$0.0058** / 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": "farui-plus",
  "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': 'farui-plus', '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': 'farui-plus', '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** [`farui-plus`](https://ailoot.ai/models/pt-pt/#m=farui-plus&route=Ultra&caller=farui-plus&fmt=messages)

#### Aliases dos caminhos dos métodos

`/chat/completions`

#### IDs de chamada relacionados

[`farui-plus`](https://ailoot.ai/models/pt-pt/#m=farui-plus&route=Ultra&caller=farui-plus&fmt=messages)

FAQ · farui-plus

Que entradas e resultados estão disponíveis?

`POST /v1/chat/completions` · `farui-plus`: `text` → `text` `POST /v1/messages` · `farui-plus`: `text` → `json`, `sse`

Que campos utiliza o pedido?

`POST /v1/chat/completions` · `farui-plus`: `model`, `messages`, `stream` `POST /v1/messages` · `farui-plus`: `model`, `messages`, `max_tokens`, `stream`

Que limites se aplicam?

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