Google: Gemini 3 Flash Preview
Gemini 3 Flash Preview combina compreensão e raciocínio multimodais com saída textual. Suporta análise de código, documental e visual, resultados estruturados e fluxos de trabalho orientados para ferramentas, com quatro níveis de pensamento documentados para escolher a profundidade da análise.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgemini-3-flash-preview - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgemini-3-flash-preview - Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgoogle/gemini-3-flash-preview - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgoogle/gemini-3-flash-preview
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 Flash Preview é um modelo de raciocínio da Google para compreensão multimodal, programação e tarefas com agentes. Aceita texto, imagens, vídeo, áudio e PDF e devolve texto. Um pedido pode, por isso, reunir instruções escritas, ficheiros de origem, observações visuais e histórico de conversação em torno de um problema. O resultado pode ser uma explicação, uma proposta de código, dados extraídos ou um plano fundamentado nesses materiais, em vez de uma imagem gerada ou de uma resposta falada.
A ficha do modelo exato indica um limite de entrada de 1 048 576 tokens e um limite de saída de 65 536 tokens. Planeie a fonte e o resultado separadamente: um excerto longo de repositório, um conjunto documental ou uma gravação só cabem quando a representação processada e as instruções couberem no orçamento de entrada, e a resposta continua a precisar do seu próprio comprimento reservado. Identifique as fontes relacionadas e indique que material é de referência obrigatória. Para um prompt longo, o guia para programadores recomenda colocar a pergunta específica depois dos dados e ligá-la explicitamente à informação anterior.
O pensamento é dinâmico, com high como predefinição documentada para este modelo. Os níveis suportados são minimal, low, medium e high. São margens relativas de raciocínio, e não contagens de tokens garantidas. Minimal pode ainda envolver algum raciocínio num problema difícil de programação. Escolha um nível conforme a tarefa: uma transformação curta e um problema de depuração com várias condições precisam de tratamento diferente. Utilize instruções diretas e claras, em vez de forçar rituais elaborados de raciocínio no prompt; peça o artefacto final e as verificações que o tornam utilizável.
A ficha do produtor apresenta saídas estruturadas, chamadas de funções, execução de código, utilização do computador, pesquisa em ficheiros, fundamentação por pesquisa, fundamentação com Google Maps, contexto de URL e cache. As ferramentas integradas podem ser combinadas com chamadas de funções personalizadas no fluxo Gemini 3 documentado. Uma aplicação define as funções, verifica os argumentos, executa ações aceites e envia de volta os resultados. Para um assistente de código, uma ferramenta de leitura de ficheiros ou um executor de testes controlado podem fornecer provas concretas para o passo seguinte. Uma ação proposta e um resultado de ferramenta observado devem permanecer distintos no relatório final.
Para programação, forneça os ficheiros relevantes, a linguagem, o comportamento esperado e uma entrada que demonstre o problema. Defina o âmbito da alteração e indique a interface ou o comportamento que deve permanecer. Peça uma implementação revista e os casos que devem ser verificados. Para uma tarefa documental analítica, defina a pergunta, os campos obrigatórios e as referências às fontes. Se utilizar saída estruturada, forneça um esquema com significados claros dos campos e regras para valores em falta. Valide tanto a sintaxe como se cada valor decorre do material original.
Para análise multimodal, identifique o que importa em cada fonte. Uma captura de ecrã pode sustentar uma explicação de interface, um PDF pode fornecer uma tabela ou gráfico e uma gravação pode fornecer acontecimentos falados ou visíveis. O guia para programadores aborda controlos de resolução dos suportes multimédia porque o detalhe altera a representação processada e a utilização de tokens. O fluxo de execução de código do produtor pode recortar ou ampliar imagens fornecidas, executar cálculos a partir de dados visuais e acrescentar anotações antes de o modelo preparar a resposta. Texto pequeno legível pode exigir uma definição diferente de uma descrição geral de cena. Mantenha a página, imagem ou excerto relevantes disponíveis para que as observações possam ser verificadas, em vez de tratar um resumo fluente como prova de que todos os pormenores foram lidos corretamente.
A conversação e o estado das ferramentas precisam de ser preservados na interface escolhida. O Gemini 3 utiliza assinaturas de pensamento para transportar contexto de raciocínio entre chamadas; o guia para programadores distingue histórico com estado gerido de histórico sem estado gerido manualmente. Preserve o contexto necessário ao continuar uma tarefa de ferramenta ou rever um resultado. A Google recomenda também manter a sua temperatura predefinida de 1.0, em vez de importar uma receita de baixa temperatura que pode causar ciclos ou comportamento degradado em tarefas complexas. São práticas de integração do produtor, e não novas afirmações sobre o transporte de uma aplicação específica.
O modelo textual não anuncia geração de imagens ou áudio nem a Live API. O guia distingue também compreensão visual de segmentação de imagens ao nível do píxel, que não é uma capacidade suportada de Gemini 3 Flash. Utilize um resultado final adequado à tarefa real: observações ligadas às fontes, um registo estruturado, uma alteração de código ou uma decisão com os pressupostos declarados. Verifique a aritmética, valide o código no ambiente pretendido e reveja a informação devolvida pelas ferramentas. Quando os factos recentes importarem, utilize as fontes de fundamentação configuradas ou dados atuais fornecidos, em vez de pressupor que o conhecimento do modelo é uma base de dados em tempo real.
Tarefa prática
Tarefa prática
Exemplo técnico em inglês
Keep a sorting helper immutable
Fix this JavaScript helper so it returns users sorted by name without changing the input array: function sortedUsers(users) { return users.sort((a,b) => a.name.localeCompare(b.name)); }. Preserve each user object. Return the revised function and tests for alphabetical order, an empty array and the unchanged original array.Resultado esperado
A revised function and three small test examples covering sorting and non-mutation.Verificar o resultado
Check that the returned array is a different array and the original sequence is unchanged after the call.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions gemini-3-flash-preview
gemini-3-flash-previewgemini-3-flash-previewgoogle/gemini-3-flash-preview
Introdução
Gemini 3 Flash Preview combina compreensão e raciocínio multimodais com saída textual. Suporta análise de código, documental e visual, resultados estruturados e fluxos de trabalho orientados para ferramentas, com quatro níveis de pensamento documentados para escolher a profundidade da análise.
- 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 |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites gemini-3-flash-preview | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites Depende do modelo | Predefinição— |
Campomessages[].content | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: Conversação textual | Predefinição— |
Campostream | Tipoboolean | 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âmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages |
Parâmetromaterial_types | Contratotext |
Parâmetromessages | ContratoLista de mensagens com estrutura role/content |
Parâmetrofile_material | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
Parâmetrooptional_controls | Contratostream |
Parâmetrocontrol_scope | ContratoConversação textual; stream é um booleano e tem false como predefinição. |
Parâmetrooutput_modalities | Contratotext |
Parâmetrohosted_operations | Contratofalse |
Parâmetromultimodal_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)
- Esforço de raciocínio · elevado
- Tarifa normal Quando o esforço de raciocínio é elevado
- Esforço de raciocínio · baixo
- Tarifa normal Quando o esforço de raciocínio é baixo
- Esforço de raciocínio · médio
- Tarifa normal Quando o esforço de raciocínio é médio
- Esforço de raciocínio · mínimo
- Tarifa normal Quando o esforço de raciocínio é mínimo
- 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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 →
Exemplos de pedidos
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gemini-3-flash-preview","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
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="gemini-3-flash-preview", 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 |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | 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 gemini-3-flash-preview, google/gemini-3-flash-preview
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages gemini-3-flash-preview
gemini-3-flash-previewgemini-3-flash-previewgoogle/gemini-3-flash-preview
Introdução
Gemini 3 Flash Preview combina compreensão e raciocínio multimodais com saída textual. Suporta análise de código, documental e visual, resultados estruturados e fluxos de trabalho orientados para ferramentas, com quatro níveis de pensamento documentados para escolher a profundidade da análise.
- 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 |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites gemini-3-flash-preview | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites user, assistant | Predefinição— |
Campomessages[].content | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomax_tokens | Tipointeger | RequisitoObrigatório | Valores e limites | Predefinição— |
Campostream | Tipoboolean | 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âmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages, max_tokens |
Parâmetrooptional_controls | Contratostream |
Parâmetromaterial_types | Contratotext |
Parâmetrotext_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)
- Esforço de raciocínio · elevado
- Tarifa normal Quando o esforço de raciocínio é elevado
- Esforço de raciocínio · baixo
- Tarifa normal Quando o esforço de raciocínio é baixo
- Esforço de raciocínio · médio
- Tarifa normal Quando o esforço de raciocínio é médio
- Esforço de raciocínio · mínimo
- Tarifa normal Quando o esforço de raciocínio é mínimo
- 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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 →
Exemplos de pedidos
Ailoot Ultra · Anthropic Messages
{
"model": "gemini-3-flash-preview",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}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': 'gemini-3-flash-preview', '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
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': 'gemini-3-flash-preview', '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 |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | 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 gemini-3-flash-preview, google/gemini-3-flash-preview
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions google/gemini-3-flash-preview
google/gemini-3-flash-previewgemini-3-flash-previewgoogle/gemini-3-flash-preview
Introdução
Gemini 3 Flash Preview combina compreensão e raciocínio multimodais com saída textual. Suporta análise de código, documental e visual, resultados estruturados e fluxos de trabalho orientados para ferramentas, com quatro níveis de pensamento documentados para escolher a profundidade da análise.
- 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 |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites google/gemini-3-flash-preview | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
Campomessages[].role | Tipostring | 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— |
Campomessages[].content | Tipostring|content_part[]|null | RequisitoOpcional | Valores e limites | Predefinição— |
Campomessages[].tool_calls | Tipotool_call[] | RequisitoOpcional | Valores e limites | Predefinição— |
Campomessages[].tool_call_id | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: role=tool; use o ID realmente devolvido | Predefinição— |
Campomessages[].name | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Campomessages[].reasoning_content | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: Reintroduza o raciocínio realmente devolvido quando este modelo o utiliza | Predefinição— |
Campomessages[].reasoning_details | Tipoobject|array | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campomax_tokens | Tipointeger | RequisitoOpcional | Valores e limites Mínimo: 1 Depende do modelo | Predefinição— |
Campomax_completion_tokens | Tipointeger | RequisitoOpcional | Valores e limites Mínimo: 1 Depende do modelo | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Campostream_options.include_usage | Tipoboolean | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotemperature | Tiponumber | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotop_p | Tiponumber | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campostop | Tipostring|string[] | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotools | Tipofunction_tool[] | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotools[].type | Tipostring | RequisitoOpcional | Valores e limites function Depende do modelo | Predefinição— |
Campotools[].function.name | Tipostring | RequisitoObrigatório | Valores e limites Aplica-se quando: Função fornecida como ferramenta | Predefinição— |
Campotools[].function.description | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Campotools[].function.parameters | TipoJSON_schema | RequisitoOpcional | Valores e limites | Predefinição— |
Campotool_choice | Tipostring|object | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campoparallel_tool_calls | Tipoboolean | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camporesponse_format | Tipoobject | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camporeasoning_effort | Tipostring | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camporeasoning | Tipoobject | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camposervice_tier | Tipostring | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campoinstructions | Tipostring | RequisitoOpcional | Valores e limites Campo de compatibilidade | Predefinição— |
Campofunctions | Tipofunction[] | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campofunction_call | Tipostring|object | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campoprompt_cache_options | Tipoobject | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campomodalities | Tipostring[] | RequisitoOpcional | Valores e limites text | Predefinição— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores e limites Condições: provider.options é rejeitado nesta rota textual Ultra | Predefinição— |
Campocache_control.ttl | Tipostring | 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âmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages |
Parâmetromaterial_types | Contratotext |
Parâmetromessages | ContratoLista de mensagens com estrutura role/content |
Parâmetrofile_material | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
Parâmetrooptional_controls | Contratostream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parâmetrocontrol_scope | ContratoEspecífico do modelo; as ferramentas de funções do utilizador diferem das ferramentas alojadas |
Parâmetrooutput_modalities | Contratotext |
Parâmetrohosted_operations | Contratofalse |
Parâmetromultimodal_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)
- Esforço de raciocínio · elevado
- Tarifa normal Quando o esforço de raciocínio é elevado
- Esforço de raciocínio · baixo
- Tarifa normal Quando o esforço de raciocínio é baixo
- Esforço de raciocínio · médio
- Tarifa normal Quando o esforço de raciocínio é médio
- Esforço de raciocínio · mínimo
- Tarifa normal Quando o esforço de raciocínio é mínimo
- 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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 →
Exemplos de pedidos
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-3-flash-preview", "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
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='google/gemini-3-flash-preview',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"))
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='google/gemini-3-flash-preview',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 |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | 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 gemini-3-flash-preview, google/gemini-3-flash-preview
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages google/gemini-3-flash-preview
google/gemini-3-flash-previewgemini-3-flash-previewgoogle/gemini-3-flash-preview
Introdução
Gemini 3 Flash Preview combina compreensão e raciocínio multimodais com saída textual. Suporta análise de código, documental e visual, resultados estruturados e fluxos de trabalho orientados para ferramentas, com quatro níveis de pensamento documentados para escolher a profundidade da análise.
- 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 |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites google/gemini-3-flash-preview | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites user, assistant | Predefinição— |
Campomessages[].content | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomax_tokens | Tipointeger | RequisitoObrigatório | Valores e limites | Predefinição— |
Campostream | Tipoboolean | 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âmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages, max_tokens |
Parâmetrooptional_controls | Contratostream |
Parâmetromaterial_types | Contratotext |
Parâmetrotext_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)
- Esforço de raciocínio · elevado
- Tarifa normal Quando o esforço de raciocínio é elevado
- Esforço de raciocínio · baixo
- Tarifa normal Quando o esforço de raciocínio é baixo
- Esforço de raciocínio · médio
- Tarifa normal Quando o esforço de raciocínio é médio
- Esforço de raciocínio · mínimo
- Tarifa normal Quando o esforço de raciocínio é mínimo
- 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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.001 / 1K tokens Saída · Tokens de saída $0.006 / 1K tokens Entrada · Leitura da cache $0.0001 / 1K tokens Entrada · Escrita na cache $0.0001666666666666666 / 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 →
Exemplos de pedidos
Ailoot Ultra · Anthropic Messages
{
"model": "google/gemini-3-flash-preview",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}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': 'google/gemini-3-flash-preview', '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
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': 'google/gemini-3-flash-preview', '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 |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | 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 gemini-3-flash-preview, google/gemini-3-flash-preview
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
FAQ · Google: Gemini 3 Flash Preview
- Que entradas e resultados estão disponíveis?
POST /v1/chat/completions·gemini-3-flash-preview:text→textPOST /v1/messages·gemini-3-flash-preview:text→json,ssePOST /v1/chat/completions·google/gemini-3-flash-preview:text→textPOST /v1/messages·google/gemini-3-flash-preview:text→json,sse- Que campos utiliza o pedido?
POST /v1/chat/completions·gemini-3-flash-preview:model,messages,streamPOST /v1/messages·gemini-3-flash-preview:model,messages,max_tokens,streamPOST /v1/chat/completions·google/gemini-3-flash-preview:model,messages,stream,modalities,providerPOST /v1/messages·google/gemini-3-flash-preview:model,messages,max_tokens,stream- Que limites se aplicam?
POST /v1/chat/completions·gemini-3-flash-preview:messages.min_items:1POST /v1/chat/completions·google/gemini-3-flash-preview:messages.min_items:1