Source: https://ailoot.ai/models/pt-pt/google-gemini-3-5-flash-u003a-batch/
Canonical: https://ailoot.ai/models/pt-pt/google-gemini-3-5-flash-u003a-batch/
Language: pt-pt

# Google: Gemini 3.5 Flash (batch)

[Markdown](https://ailoot.ai/models/pt-pt/google-gemini-3-5-flash-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/pt-pt/google-gemini-3-5-flash-u003a-batch/facts.json)

## [Google: Gemini 3.5 Flash (batch)](https://ailoot.ai/models/pt-pt/google-gemini-3-5-flash-u003a-batch/)

Gemini 3.5 Flash combina compreensão multimodal com raciocínio para programação e tarefas de agentes em várias etapas. Aceita texto, imagens, vídeo, áudio e PDF e produz texto, com saídas estruturadas, ferramentas e um limite de entrada de 1 048 576 tokens no seu perfil documentado.

- [**Ailoot Ultra · Processamento em lote** `POST /v1/batches` `google/gemini-3.5-flash:batch`](https://ailoot.ai/models/pt-pt/google-gemini-3-5-flash-u003a-batch/#method-0)

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.

Gemini 3.5 Flash é o perfil do modelo multimodal Flash da Google para programação e trabalho continuado com agentes. As entradas documentadas são texto, imagens, vídeo, áudio e PDF, com saída textual. O foco das tarefas do modelo inclui programação iterativa, exploração de soluções alternativas e sequências mais longas de instruções e utilização de ferramentas. A edição 3.5 fornece controlos de pensamento, entradas multimodais e fluxos de trabalho com ferramentas documentados.

Uma tarefa de programação pode combinar um requisito escrito, ficheiros de código-fonte relevantes e uma captura de ecrã do resultado pretendido. Forneça o comportamento observado, o comportamento esperado e as restrições que devem permanecer intactas. Um exemplo de pedido é: «Compare a captura de ecrã com o texto do componente, identifique a discrepância no fluxo do formulário e proponha uma correção focada. Explique que pormenores do código-fonte justificam a alteração.» Para uma tarefa documental, forneça as páginas relevantes e peça uma comparação com requisitos explícitos, com referências às fontes para cada conclusão.

A edição documenta os níveis de pensamento minimal, low, medium e high. Medium é a predefinição, alterada face à predefinição high do Gemini 3 Flash Preview. Minimal adequa-se a respostas simples e decisões diretas de ferramentas, sem garantir que o raciocínio esteja completamente desativado; low destina-se a tarefas que exigem menos passos; high oferece raciocínio mais profundo para problemas difíceis de matemática, programação e agentes. A Google recomenda utilizar thinking\_level para controlar o esforço e manter as definições de amostragem predefinidas, em vez de tentar forçar o raciocínio alterando temperature, top-p ou top-k.

Um comportamento definidor é a preservação do contexto de raciocínio ao longo de uma tarefa com vários turnos. O fluxo Interactions da Google transporta esse contexto automaticamente; o fluxo GenerateContent exige o histórico de conversação completo e inalterado, incluindo assinaturas de pensamento. Isto suporta uma tarefa continuada de depuração ou refatorização em que o raciocínio anterior informa o passo seguinte. Preserve a estrutura real da conversação, em vez de converter cada continuação num prompt sem relação, e mantenha claro o artefacto final pedido à medida que o trabalho avança.

O conjunto de ferramentas documentado inclui Google Search, fundamentação com Google Maps, File Search, Code Execution, URL Context e Function Calling normal, sendo a utilização combinada de ferramentas e Computer Use assinaladas como capacidades em pré-visualização. Structured Outputs pode fornecer um registo de dados definido. Dê às funções uma finalidade clara e uma definição dos parâmetros: o modelo escolhe uma função, enquanto a aplicação ligada executa a operação e devolve o resultado. A Google exige que os resultados de funções correspondam às chamadas anteriores em identidade, nome e quantidade; os resultados multimodais pertencem à resposta da função.

A tabela do modelo exato da API indica um máximo de entrada de 1 048 576 tokens e um máximo de saída de 65 536 tokens. O histórico de conversação e os suportes multimédia fornecidos contribuem para o orçamento de entrada. A cache e o processamento em lote estão documentados para este perfil, com opções adicionais de processamento Flex e Priority na tabela da Google. Estes limites e capacidades descrevem a edição do produtor; não exigem que uma resposta preencha toda a janela de saída nem tornam todas as ferramentas necessárias para uma tarefa.

Este perfil gera texto, e não imagens ou áudio, e não utiliza a Live API. O seu guia para programadores exclui também a segmentação de imagens. Para uma pergunta visual, peça uma descrição, extração ou interpretação do material fornecido; para uma gravação falada, peça um resultado textual. Quando a resposta depender de informação mais recente, o fluxo documentado de fundamentação por pesquisa pode acrescentar fontes para além do conhecimento de treino. Indique se é necessária informação externa e que provas a resposta final deve preservar.

Para uma tarefa mais longa útil, defina o resultado final e o critério de conclusão antes do primeiro passo. Uma tarefa de análise de suporte pode pedir uma tabela de problemas observados, passagens que os sustentem e uma proposta de resposta; uma tarefa de programação pode exigir a alteração focada e o resultado de validação relevante. Anexe o contexto de origem importante, especifique as ações de ferramentas permitidas e peça uma resposta final explícita que distinga o trabalho concluído de questões que ainda exigem informação. Isto transforma o fluxo continuado do modelo num artefacto concreto de texto, código ou dados estruturados.

**Ailoot Ultra · Processamento em lote** `POST /v1/batches` `google/gemini-3.5-flash:batch`

[`google/gemini-3.5-flash:batch`](https://ailoot.ai/models/pt-pt/#m=google%2Fgemini-3.5-flash%3Abatch&route=Ultra&caller=google%2Fgemini-3.5-flash%3Abatch&fmt=batches)

Google /`google/gemini-3.5-flash:batch`

### Introdução

Gemini 3.5 Flash combina compreensão multimodal com raciocínio para programação e tarefas de agentes em várias etapas. Aceita texto, imagens, vídeo, áudio e PDF e produz texto, com saídas estruturadas, ferramentas e um limite de entrada de 1 048 576 tokens no seu perfil documentado.

Entradas aceites

Texto

Resultados

Texto

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

**Ailoot Ultra · Processamento em lote** `POST /v1/batches`

Entrada

`text`

Saída

`text`

Formato de saída

JSON em linha de results\[\].response.body

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`endpoint` | Tipo`string` | RequisitoObrigatório | Valores e limites /v1/chat/completions | Predefinição— |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites google/gemini-3.5-flash:batch | Predefinição— |
| Campo`requests` | Tipo`batch_item[]` | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
| Campo`requests[].custom_id` | Tipo`string` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`requests[].body.messages` | Tipo`message[]` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`completion_window` | Tipo`string` | RequisitoOpcional | Valores e limites 24h | Predefinição— |
| Campo`provider` | Tipo`object\|null` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`requests[].body.model` | Tipo`string` | RequisitoOpcional | Valores e limites google/gemini-3.5-flash:batch, google/gemini-3.5-flash | Predefinição— |
| Campo`provider.only` | Tipo`string[]` | RequisitoOpcional | Valores e limites google-vertex/global | Predefinição— |
| Campo`provider.allow_fallbacks` | Tipo`boolean\|null` | RequisitoOpcional | Valores e limites false, null | Predefinição— |

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratoendpoint, model, requests |
| Parâmetro`material_types` | Contratotext |
| Parâmetro`representation` | Contratorequests\[\] em linha; cada item tem custom\_id e body |
| Parâmetro`request_endpoint_profile` | Contrato/v1/chat/completions |
| Parâmetro`file_material` | ContratoQuem faz a chamada pode ler localmente o conteúdo JSONL UTF-8 efetivo para requests\[\]. Não é utilizada qualquer finalidade de carregamento, input\_file\_id ou referência a ficheiro. Se o material do cliente estiver em falta ou vazio, a preparação é interrompida antes do POST. |
| Parâmetro`serialization_order` | Contratoendpoint, model, provider (se fornecido), completion\_window (se fornecido), requests em último lugar |
| Parâmetro`optional_controls` | Contratoprovider.only, provider.allow\_fallbacks, completion\_window |
| Parâmetro`schema_scope` | ContratoCorpos de pedidos de texto de Chat Completions na estrutura de lote em linha documentada. |

Ciclo de vida: `asynchronous`

`GET /v1/batches/{operation_id}` · response.id efetivo da resposta original de criação; mesmo utilizador/chave/grupo

### 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)

Preços da cache explícita

Não ativado Quando é pedida cache explícita

#### 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.0015** / 1K tokens Saída · Tokens de saída **$0.009** / 1K tokens Entrada · Leitura da cache **$0.00015** / 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.0015** / 1K tokens Saída · Tokens de saída **$0.009** / 1K tokens Entrada · Leitura da cache **$0.00015** / 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 · Processamento em lote

curl · dados de teste preservadosPython HTTP · JSONL real do clientePython · guarde cada resultado concluído

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"google/gemini-3.5-flash:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
```

```python
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['google/gemini-3.5-flash:batch', 'google/gemini-3.5-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.5-flash:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
```

```python
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
```

### Receber e guardar os resultados

#### Ailoot Ultra · Processamento em lote

JSON em linha de results\[\].response.body

- `GET /v1/batches/{operation_id}`

##### Verificar o estado da tarefa

curl · estado da operação original

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
```

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

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

Conserve o JSON completo do estado original, todos os resultados/custom\_id e o corpo completo da resposta ou do erro. Guarde os results\[\] concluídos em formato JSONL, sem filtrar.

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

Preserve o ID original da operação. A resposta 503 result\_pending\_check inclui X-Should-Retry:false; nunca volte a enviar um lote original de estado desconhecido.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`results[].custom_id` | Tipostring |
| Campo`results[].response.body.choices[].message.content` | Tipostring\|null |
| Campo`results[].error` | Tipoobject\|null |
| Campo`usage` | Tipoobject\|null |
| Campo`id` | Tipostring |
| Campo`model` | Tipostring |
| Campo`endpoint` | Tipostring |
| Campo`status` | Tipostring |
| Campo`request_counts` | Tipoobject |
| Campo`results[].id` | Tipostring |
| Campo`results[].response.status_code` | Tipointeger |
| Campo`results[].response.request_id` | Tipostring |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoEstrutura em linha documentada inválida, chaves duplicadas, identidade do item inválida ou conflito com as capacidades configuradas do modelo. | Passo seguinteCorrija os campos indicados antes de qualquer novo envio. |
| Resposta401 · `authentication_error` | CondiçãoChave de API inválida. | Passo seguinteUse a chave Ailoot autorizada. |
| Resposta403 · `permission_error` | CondiçãoGrupo de processamento em lote indisponível. | Passo seguinteVerifique os direitos de acesso da chave/do grupo. |
| Resposta422 · `invalid_request_error` | CondiçãoO processamento em lote usa faturação por débito do saldo; a criação com subscrição é rejeitada. | Passo seguinteUse o grupo autorizado com faturação por débito do saldo. |
| Resposta422 · `price_unavailable` | CondiçãoNão é possível calcular uma estimativa de preço para os dados de entrada do lote. | Passo seguinteConserve a resposta; use os dados de entrada documentados para a família. |
| Resposta402 · `billing_error` | CondiçãoReserva para processamento em lote indisponível. | Passo seguinteResolva a questão da admissão antes de um novo pedido. |
| Resposta503 · `price_unavailable` | CondiçãoPreço do método de processamento em lote/tarifas nativas indisponíveis. | Passo seguinteConserve a resposta; não substitua os preços. |
| Resposta503 · `api_error` | CondiçãoA rota exata do fornecedor está indisponível. | Passo seguinteConserve a resposta para corrigir a rota. |
| Resposta503 · `result_pending_check` | CondiçãoO resultado original requer verificação; X-Should-Retry:false. | Passo seguinteGuarde o operation\_id/id original e consulte o respetivo estado; nunca repita o POST original. |
| Resposta404 · `not_found` | CondiçãoA operação de consulta do estado do lote não existe ou pertence a outra identidade. | Passo seguinteUse o id original exato e o mesmo utilizador/chave/grupo. |

### Aliases

#### Aliases do modelo

**Ailoot Ultra** [`google/gemini-3.5-flash:batch`](https://ailoot.ai/models/pt-pt/#m=google%2Fgemini-3.5-flash%3Abatch&route=Ultra&caller=google%2Fgemini-3.5-flash%3Abatch&fmt=batches)

#### Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

#### IDs de chamada relacionados

[`google/gemini-3.5-flash:batch`](https://ailoot.ai/models/pt-pt/#m=google%2Fgemini-3.5-flash%3Abatch&route=Ultra&caller=google%2Fgemini-3.5-flash%3Abatch&fmt=batches)

FAQ · Google: Gemini 3.5 Flash (batch)

Que entradas e resultados estão disponíveis?

`POST /v1/batches` · `google/gemini-3.5-flash:batch`: `text` → `text`

Que campos utiliza o pedido?

`POST /v1/batches` · `google/gemini-3.5-flash:batch`: `endpoint`, `model`, `requests`, `completion_window`, `provider`

Que limites se aplicam?

`POST /v1/batches` · `google/gemini-3.5-flash:batch`: `requests.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.
