gemini-3-pro-preview
Gemini 3 Pro Preview es el modelo de razonamiento multimodal de Google para texto, imágenes, audio, video y PDF, con salida de texto. Su amplia capacidad de entrada, sus capacidades de programación y sus flujos con herramientas compatibles se adaptan al análisis detallado, la comparación de documentos y la ejecución de tareas basada en evidencia.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgemini-3-pro-preview - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgemini-3-pro-preview
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Gemini 3 Pro Preview es el perfil de vista previa identificado por Google como Gemini 3 Pro para razonamiento multimodal y generación de texto. Puede trabajar con texto, imágenes, audio, video y documentos PDF y devolver un resultado escrito. Sus usos previstos incluyen análisis complejos, programación avanzada, desarrollo de algoritmos y tareas que combinan un conjunto considerable de fuentes con una pregunta específica.
Modelo y estructura de entrada
Gemini 3 Pro es un modelo de mezcla dispersa de expertos basado en transformers, con compatibilidad nativa con entradas multimodales. Su arquitectura dirige cada token a un subconjunto seleccionado de expertos. Esta es una característica del diseño del modelo, y no un control del usuario para seleccionar un experto específico o fijar una configuración de servicio.
Prepara las entradas en función de la información que necesita la tarea. Un documento, una captura de pantalla y una grabación de audio pueden aportar evidencia diferente. Identifica qué contiene cada recurso y cómo debe contribuir a la respuesta. La salida sigue siendo texto; comprender material visual o hablado no convierte esta vista previa en un generador de imágenes, voz o video.
Análisis multimodal
Usa imágenes para preguntas sobre contenido visible, audio para información hablada o acústica y video para una secuencia cuyos cambios a lo largo del tiempo sean relevantes. Adjunta el recurso real a la pregunta en lugar de describirlo solo de memoria. Al comparar varios recursos, etiquétalos claramente para que la respuesta pueda referirse a la fuente correcta.
Por ejemplo, un encargo de análisis de producto puede combinar una especificación escrita, una captura de pantalla de la interfaz y una demostración grabada. Pide una comparación que separe lo prometido por la especificación de lo visible o audible en el material proporcionado. Define el resultado deseado como hallazgos, observaciones que los respalden y preguntas pendientes.
Para una tarea con PDF, proporciona el documento e identifica las secciones o afirmaciones que deben examinarse. Una pregunta útil pide una comparación, extracción o explicación vinculada a la fuente, en lugar de solicitar únicamente un resumen general de un archivo grande.
Contexto largo y capacidad de salida
La especificación exacta de esta vista previa indica un límite de entrada de 1,048,576 tokens y un límite de salida de 65,536 tokens. El fabricante señala enero de 2025 como fecha de corte de conocimientos; proporciona evidencia más reciente cuando la pregunta dependa de acontecimientos o información posteriores. Son capacidades distintas. Es posible leer un conjunto amplio de fuentes para producir una respuesta enfocada sin que el modelo tenga que reproducir cada parte de la entrada.
Organiza el material extenso para que su estructura sea clara: títulos de documentos, límites de secciones, rutas de código y la pregunta que debe responder la salida. Mantén las excepciones y definiciones relevantes cerca del contenido al que se aplican. Si una tarea requiere un informe largo, especifica sus secciones y la evidencia esperada en cada una.
Una ventana de contexto amplia no garantiza que cada detalle reciba la misma atención ni que todas las conclusiones sean correctas. Google también identifica una posible degradación en conversaciones de varios turnos; revisa los hechos importantes de las fuentes y el contexto reutilizado a medida que avance el intercambio. Contrasta la respuesta con los pasajes o recursos concretos que respaldan sus afirmaciones importantes.
Programación y desarrollo de algoritmos
Los usos previstos por el productor incluyen programación avanzada y trabajo con algoritmos. Proporciona el código fuente relevante, los supuestos del entorno, la falla observada y el comportamiento esperado. Para una tarea de algoritmos, define la entrada, la salida deseada y condiciones como el orden, los duplicados o los datos no válidos.
Un encargo útil de depuración combina la entrada y el error que provocan la falla con la sección mínima relevante del código fuente. Pide un diagnóstico y un cambio puntual, y después inspecciona si el cambio propuesto resuelve el comportamiento reportado. El código generado y la afirmación de que debería funcionar son distintos de una implementación que se ha ejecutado y verificado.
Para una pregunta sobre un repositorio más grande, usa la capacidad de entrada para proporcionar los archivos necesarios con etiquetas claras de sus rutas. Indica si el entregable deseado es una explicación, un parche propuesto o un análisis de alternativas para que el resultado tenga un propósito concreto.
Herramientas, fuentes y resultados estructurados
La especificación del productor para esta vista previa admite llamadas a funciones, ejecución de código, búsqueda en archivos, fundamentación mediante búsqueda y contexto de URL. Estas funciones tienen roles distintos. Una llamada a función describe una operación que debe ejecutar una aplicación; el resultado de la herramienta aporta después evidencia para el siguiente paso del modelo. La ejecución de código es un flujo con herramientas, y no una garantía de que cualquier código de aplicación generado ya haya sido probado.
La fundamentación mediante búsqueda y el contexto de URL ofrecen flujos orientados a fuentes, mientras que la búsqueda en archivos trabaja con una colección de archivos preparada. Conserva los resultados de herramientas y sus asociaciones con las fuentes junto con la respuesta para que una conclusión pueda inspeccionarse. Según su especificación, el perfil no admite uso de computadora ni fundamentación mediante Maps.
La compatibilidad con salidas estructuradas permite expresar un resultado con un esquema definido. Especifica los campos y su significado antes de generar, y revisa el contenido además del formato. Un objeto estructurado válido sigue necesitando verificación factual y específica de la tarea.
Razonamiento, reutilización y límites entre ediciones
Esta vista previa admite pensamiento. Usa una tarea clara, evidencia relevante y restricciones explícitas para trabajos que requieran varios pasos de razonamiento. El resultado debe explicar los supuestos y la conclusión útil; el razonamiento oculto o la existencia de un modo de pensamiento no constituyen por sí mismos una verificación.
El productor también indica compatibilidad con caché y procesamiento por lotes. Son funciones de procesamiento separadas de las capacidades de contenido del modelo, y su presencia no demuestra que una solicitud concreta se haya almacenado en caché ni que el resultado de un lote sea correcto.
Mantén Gemini 3 Pro Preview separado de Gemini 3.1 Pro Preview, Gemini 3 Pro Image y los perfiles de audio o Live. La salida de esta vista previa es texto, y su especificación no incluye generación de imágenes, generación de audio ni funcionamiento Live. Evalúa la respuesta, el código o el resultado estructurado devueltos frente al conjunto de fuentes proporcionado y la tarea prevista.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions gemini-3-pro-preview
gemini-3-pro-previewInicio
Gemini 3 Pro Preview es el modelo de razonamiento multimodal de Google para texto, imágenes, audio, video y PDF, con salida de texto. Su amplia capacidad de entrada, sus capacidades de programación y sus flujos con herramientas compatibles se adaptan al análisis detallado, la comparación de documentos y la ejecución de tareas basada en evidencia.
- Entradas aceptadas
- Texto
- Resultados
- Texto
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Entrada
text- Salida
text- Formato de salida
- json o SSE
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites gemini-3-pro-preview | Predeterminado— |
Campomessages | Tipomessage[] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 | Predeterminado— |
Campomessages[].role | Tipostring | RequisitoObligatorio | Valores y límites Depende del modelo | Predeterminado— |
Campomessages[].content | Tipostring | RequisitoOpcional | Valores y límites Se aplica cuando: Conversación textual | Predeterminado— |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites | Predeterminadofalse |
Combinaciones de materiales de entrada
Texto · Texto UTF8
messages[].content
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, messages |
Parámetromaterial_types | Contratotext |
Parámetromessages | Contratomatriz de mensajes con estructura role/content |
Parámetrofile_material | Contratodocumento real en UTF-8 insertado como texto literal; no se deduce ningún ID de archivo |
Parámetrooptional_controls | Contratostream |
Parámetrocontrol_scope | ContratoConversación textual; stream es un booleano y su valor predeterminado es false. |
Parámetrooutput_modalities | Contratotext |
Parámetrohosted_operations | Contratofalse |
Parámetromultimodal_input_binding | Contratonull |
Alias de método: /chat/completions
Ciclo de vida: synchronous_or_streamed
Envía el ID exacto del modelo junto con messages.
La longitud del contexto no es un límite máximo de salida.
Un archivo de texto puede aportar texto literal; las entradas de imagen, audio u objetos de archivo requieren una vinculación exacta.
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
- Precios de caché explícita
- No habilitado Cuando se solicita caché explícita
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.004 / 1K tokens Salida · Tokens de salida $0.024 / 1K tokens Entrada · Lectura de caché $0 / 1K tokens Entrada · Escritura en caché $0 / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
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-pro-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-pro-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"))
Recibir y guardar resultados
Ailoot Ultra · OpenAI Chat
json o SSE
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva cada alternativa y su contenido, llamadas de herramientas y razonamiento. En SSE, ensambla los fragmentos incrementales por índice de alternativa/herramienta y conserva el motivo final de terminación y el uso.
Si es necesario revisar la respuesta original
Conserva los ID de solicitud y respuesta y los encabezados. No se proporciona una URL genérica para recuperar tareas de texto.
Campos de respuesta
| 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 |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra gemini-3-pro-preview
Alias de rutas de métodos
/chat/completions
ID de modelo relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages gemini-3-pro-preview
gemini-3-pro-previewInicio
Gemini 3 Pro Preview es el modelo de razonamiento multimodal de Google para texto, imágenes, audio, video y PDF, con salida de texto. Su amplia capacidad de entrada, sus capacidades de programación y sus flujos con herramientas compatibles se adaptan al análisis detallado, la comparación de documentos y la ejecución de tareas basada en evidencia.
- Entradas aceptadas
- Texto
- Resultados
- json · sse
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Entrada
text- Salida
json,sse- Formato de salida
- JSON o SSE
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites gemini-3-pro-preview | Predeterminado— |
Campomessages | Tipomessage[] | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campomessages[].role | Tipostring | RequisitoObligatorio | Valores y límites user, assistant | Predeterminado— |
Campomessages[].content | Tipostring | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campomax_tokens | Tipointeger | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites | Predeterminadofalse |
Combinaciones de materiales de entrada
Texto · Texto UTF-8
cadena messages[].content
Parámetros del método y ciclo de vida
| 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 | ContratoLee el documento real en UTF-8 y coloca su texto en el campo input indicado o en la cadena de contenido del mensaje. |
Ciclo de vida: synchronous_or_streamed
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
- Precios de caché explícita
- No habilitado Cuando se solicita caché explícita
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.004 / 1K tokens Salida · Tokens de salida $0.024 / 1K tokens Entrada · Lectura de caché $0 / 1K tokens Entrada · Escritura en caché $0 / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Anthropic Messages
{
"model": "gemini-3-pro-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-pro-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-pro-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))
Recibir y guardar resultados
Ailoot Ultra · Anthropic Messages
JSON o SSE
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva todos los bloques de contenido, las firmas de razonamiento y los ID reales de uso de herramientas. Ensambla todos los fragmentos incrementales de los bloques SSE; el primer bloque de texto no constituye la salida completa.
Si es necesario revisar la respuesta original
Conserva los ID de solicitud y respuesta y los encabezados. No se proporciona una URL genérica para recuperar tareas de texto.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra gemini-3-pro-preview
Alias de rutas de métodos
/chat/completions
ID de modelo relacionados
FAQ · gemini-3-pro-preview
- ¿Qué entradas y resultados están disponibles?
POST /v1/chat/completions·gemini-3-pro-preview:text→textPOST /v1/messages·gemini-3-pro-preview:text→json,sse- ¿Qué campos utiliza la solicitud?
POST /v1/chat/completions·gemini-3-pro-preview:model,messages,streamPOST /v1/messages·gemini-3-pro-preview:model,messages,max_tokens,stream- ¿Qué límites se aplican?
POST /v1/chat/completions·gemini-3-pro-preview:messages.min_items:1