Gemini API

La API de Gemini Interactions es una API experimental que permite a los desarrolladores crear aplicaciones de IA generativa con modelos de Gemini. Gemini es nuestro modelo más potente, creado desde cero para ser multimodal. Puede generalizar y comprender, operar y combinar sin problemas diferentes tipos de información, como lenguaje, imágenes, audio, video y código. Puedes usar la API de Gemini para casos de uso como el razonamiento en texto e imágenes, la generación de contenido, los agentes de diálogo, los sistemas de resumen y clasificación, y mucho más.

Cómo crear una interacción

post https://generativelanguage.googleapis.com/v1beta/interactions

Crea una interacción nueva.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

model ModelOption  (opcional)

Es el nombre del `Modelo` que se usó para generar la interacción.
Obligatorio si no se proporciona `agent`.

Valores posibles:

  • gemini-2.5-pro

    Nuestro modelo polivalente de vanguardia, que se destaca en la programación y las tareas de razonamiento complejas.

  • gemini-2.5-flash

    Nuestro primer modelo de razonamiento híbrido que admite una ventana de contexto de 1 millón de tokens y tiene presupuestos de pensamiento.

  • gemini-2.5-flash-preview-09-2025

    Es el modelo más reciente basado en el modelo 2.5 Flash. La versión preliminar de 2.5 Flash es ideal para el procesamiento a gran escala, la baja latencia, las tareas de gran volumen que requieren pensamiento y los casos de uso de agentes.

  • gemini-2.5-flash-lite

    Es nuestro modelo más pequeño y rentable, diseñado para el uso a gran escala.

  • gemini-2.5-flash-lite-preview-09-2025

    Es el modelo más reciente basado en Gemini 2.5 Flash lite, optimizado para la rentabilidad, el alto rendimiento y la alta calidad.

  • gemini-2.5-flash-preview-native-audio-dialog

    Nuestros modelos de audio nativos están optimizados para obtener salidas de audio de mayor calidad con mejor ritmo, naturalidad de la voz, verbosidad y estado de ánimo.

  • gemini-2.5-flash-image-preview

    Nuestro modelo de generación de imágenes nativo, optimizado para la velocidad, la flexibilidad y la comprensión contextual. La entrada y salida de texto tienen el mismo precio que 2.5 Flash.

  • gemini-2.5-pro-preview-tts

    Nuestro modelo de audio de texto a voz 2.5 Pro está optimizado para la generación de voz potente y de baja latencia, lo que permite obtener resultados más naturales y facilita la dirección de las instrucciones.

  • gemini-3-pro-preview

    Nuestro modelo más inteligente con razonamiento y comprensión multimodal de vanguardia, y potentes capacidades de programación de agentes y vibe coding.

Es el modelo que completará tu instrucción.\n\nConsulta [modelos](https://ai.google.dev/gemini-api/docs/models) para obtener más detalles.

agent AgentOption  (opcional)

Es el nombre del `Agent` que se usó para generar la interacción.
Obligatorio si no se proporciona `model`.

Valores posibles:

  • deep-research-pro-preview-12-2025

    Agente de Deep Research de Gemini

Es el agente con el que se interactuará.

input Content o array (Content) o array (Turn) o cadena  (obligatorio)

Son las entradas de la interacción (comunes tanto para el modelo como para el agente).

system_instruction cadena  (opcional)

Instrucción del sistema para la interacción.

tools array (Tool)  (opcional)

Es una lista de declaraciones de herramientas a las que el modelo puede llamar durante la interacción.

response_format objeto  (opcional)

Asegura que la respuesta generada sea un objeto JSON que cumpla con el esquema JSON especificado en este campo.

response_mime_type cadena  (opcional)

Es el tipo de MIME de la respuesta. Este campo es obligatorio si se establece response_format.

stream boolean  (opcional)

Solo entrada. Indica si la interacción se transmitirá.

store boolean  (opcional)

Solo entrada. Indica si se debe almacenar la respuesta y la solicitud para su recuperación posterior.

background boolean  (opcional)

Indica si se debe ejecutar la interacción del modelo en segundo plano.

generation_config GenerationConfig  (opcional)

Configuración del modelo
Parámetros de configuración para la interacción del modelo.
Es una alternativa a "agent_config". Solo se aplica cuando se establece "model".

Son los parámetros de configuración para las interacciones del modelo.

Campos

temperature número  (opcional)

Controla la aleatoriedad del resultado.

top_p número  (opcional)

Es la probabilidad acumulativa máxima de los tokens que se deben tener en cuenta durante el muestreo.

semilla número entero  (opcional)

Es la semilla que se usa en la decodificación para la reproducibilidad.

stop_sequences array (cadena)  (opcional)

Es una lista de secuencias de caracteres que detendrán la interacción de salida.

tool_choice ToolChoice  (opcional)

Es la herramienta elegida para la interacción.

Es la configuración para la elección de herramientas.

Tipos posibles

ToolChoiceType

Este tipo no tiene campos específicos.

ToolChoiceConfig

allowed_tools AllowedTools  (opcional)

No se proporcionó la descripción.

Es la configuración de las herramientas permitidas.

Campos

mode ToolChoiceType  (opcional)

Es el modo de la elección de la herramienta.

Valores posibles:

  • auto
  • any
  • none
  • validated

tools array (string)  (opcional)

Son los nombres de las herramientas permitidas.

thinking_level ThinkingLevel  (opcional)

Es el nivel de tokens de pensamiento que debe generar el modelo.

Valores posibles:

  • low
  • high

thinking_summaries ThinkingSummaries  (opcional)

Indica si se deben incluir resúmenes de pensamiento en la respuesta.

Valores posibles:

  • auto
  • none

max_output_tokens integer  (opcional)

Es la cantidad máxima de tokens que se incluirán en la respuesta.

speech_config SpeechConfig  (opcional)

Es la configuración para la interacción por voz.

Es la configuración de la interacción por voz.

Campos

voice string  (opcional)

La voz del orador.

language cadena  (opcional)

Es el idioma del discurso.

speaker cadena  (opcional)

Nombre del orador, que debe coincidir con el nombre del orador que se indica en la instrucción.

agent_config object  (opcional)

Agent Configuration
Es la configuración del agente.
Alternativa a "generation_config". Solo se aplica cuando se configura "agent".

Tipos posibles

Discriminador polimórfico: type

DynamicAgentConfig

Es la configuración para los agentes dinámicos.

type string  (opcional)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "dynamic".

DeepResearchAgentConfig

Es la configuración del agente de Deep Research.

type string  (opcional)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "deep-research".

thinking_summaries ThinkingSummaries  (opcional)

Indica si se deben incluir resúmenes de pensamiento en la respuesta.

Valores posibles:

  • auto
  • none

previous_interaction_id cadena  (opcional)

ID de la interacción anterior, si corresponde.

response_modalities ResponseModality  (opcional)

Son las modalidades solicitadas de la respuesta (TEXT, IMAGE, AUDIO).

Valores posibles:

  • text
  • image
  • audio

Respuesta

Devuelve un recurso de Interaction.

Solicitud simple

Ejemplo de respuesta

{
  "created": "2025-11-26T12:25:15Z",
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-2.5-flash",
  "object": "interaction",
  "outputs": [
    {
      "text": "Hello! I'm functioning perfectly and ready to assist you.\n\nHow are you doing today?",
      "type": "text"
    }
  ],
  "role": "model",
  "status": "completed",
  "updated": "2025-11-26T12:25:15Z",
  "usage": {
    "input_tokens_by_modality": [
      {
        "modality": "text",
        "tokens": 7
      }
    ],
    "total_cached_tokens": 0,
    "total_input_tokens": 7,
    "total_output_tokens": 20,
    "total_reasoning_tokens": 22,
    "total_tokens": 49,
    "total_tool_use_tokens": 0
  }
}

Varios turnos

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-2.5-flash",
  "status": "completed",
  "object": "interaction",
  "created": "2025-11-26T12:22:47Z",
  "updated": "2025-11-26T12:22:47Z",
  "role": "model",
  "outputs": [
    {
      "type": "text",
      "text": "The capital of France is Paris."
    }
  ],
  "usage": {
    "input_tokens_by_modality": [
      {
        "modality": "text",
        "tokens": 50
      }
    ],
    "total_cached_tokens": 0,
    "total_input_tokens": 50,
    "total_output_tokens": 10,
    "total_reasoning_tokens": 0,
    "total_tokens": 60,
    "total_tool_use_tokens": 0
  }
}

Entrada de imagen

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-2.5-flash",
  "status": "completed",
  "object": "interaction",
  "created": "2025-11-26T12:22:47Z",
  "updated": "2025-11-26T12:22:47Z",
  "role": "model",
  "outputs": [
    {
      "type": "text",
      "text": "A white humanoid robot with glowing blue eyes stands holding a red skateboard."
    }
  ],
  "usage": {
    "input_tokens_by_modality": [
      {
        "modality": "text",
        "tokens": 10
      },
      {
        "modality": "image",
        "tokens": 258
      }
    ],
    "total_cached_tokens": 0,
    "total_input_tokens": 268,
    "total_output_tokens": 20,
    "total_reasoning_tokens": 0,
    "total_tokens": 288,
    "total_tool_use_tokens": 0
  }
}

Llamada a función

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-2.5-flash",
  "status": "requires_action",
  "object": "interaction",
  "created": "2025-11-26T12:22:47Z",
  "updated": "2025-11-26T12:22:47Z",
  "role": "model",
  "outputs": [
    {
      "type": "function_call",
      "function_call": {
        "name": "get_weather",
        "arguments": {
          "location": "Boston, MA"
        }
      }
    }
  ],
  "usage": {
    "input_tokens_by_modality": [
      {
        "modality": "text",
        "tokens": 100
      }
    ],
    "total_cached_tokens": 0,
    "total_input_tokens": 100,
    "total_output_tokens": 25,
    "total_reasoning_tokens": 0,
    "total_tokens": 125,
    "total_tool_use_tokens": 50
  }
}

Deep Research

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "agent": "deep-research-pro-preview-12-2025",
  "status": "completed",
  "object": "interaction",
  "created": "2025-11-26T12:22:47Z",
  "updated": "2025-11-26T12:22:47Z",
  "role": "model",
  "outputs": [
    {
      "type": "text",
      "text": "Here is a comprehensive research report on the current state of cancer research..."
    }
  ],
  "usage": {
    "input_tokens_by_modality": [
      {
        "modality": "text",
        "tokens": 20
      }
    ],
    "total_cached_tokens": 0,
    "total_input_tokens": 20,
    "total_output_tokens": 1000,
    "total_reasoning_tokens": 500,
    "total_tokens": 1520,
    "total_tool_use_tokens": 0
  }
}

Cómo recuperar una interacción

get https://generativelanguage.googleapis.com/v1beta/interactions/{id}

Recupera los detalles completos de una sola interacción según su `Interaction.id`.

Parámetros de ruta de acceso o de consulta

id cadena  (obligatorio)

Es el identificador único de la interacción que se recuperará.

stream boolean  (opcional)

Si se establece como verdadero, el contenido generado se transmitirá de forma incremental.

Valor predeterminado: False

last_event_id string  (opcional)

Opcional. Si se configura, reanuda el flujo de interacción desde el siguiente fragmento después del evento marcado por el ID del evento. Solo se puede usar si "stream" es verdadero.

api_version cadena  (opcional)

Indica qué versión de la API se debe usar.

Respuesta

Devuelve un recurso de Interaction.

Obtener interacción

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-2.5-flash",
  "status": "completed",
  "object": "interaction",
  "created": "2025-11-26T12:25:15Z",
  "updated": "2025-11-26T12:25:15Z",
  "role": "model",
  "outputs": [
    {
      "type": "text",
      "text": "I'm doing great, thank you for asking! How can I help you today?"
    }
  ]
}

Cómo borrar una interacción

delete https://generativelanguage.googleapis.com/v1beta/interactions/{id}

Borra la interacción por ID.

Parámetros de ruta de acceso o de consulta

id cadena  (obligatorio)

Es el identificador único de la interacción que se borrará.

api_version cadena  (opcional)

Indica qué versión de la API se debe usar.

Respuesta

Si se ejecuta correctamente, la respuesta estará vacía.

Borrar interacción

Cómo cancelar una interacción

post https://generativelanguage.googleapis.com/v1beta/interactions/{id}/cancel

Cancela una interacción por ID. Esto solo se aplica a las interacciones en segundo plano que aún se están ejecutando.

Parámetros de ruta de acceso o de consulta

id cadena  (obligatorio)

Es el identificador único de la interacción que se recuperará.

api_version cadena  (opcional)

Indica qué versión de la API se debe usar.

Respuesta

Devuelve un recurso de Interaction.

Cancelar interacción

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "agent": "deep-research-pro-preview-12-2025",
  "status": "cancelled",
  "object": "interaction",
  "created": "2025-11-26T12:25:15Z",
  "updated": "2025-11-26T12:25:15Z",
  "role": "model"
}

Recursos

Interacción

Es el recurso Interaction.

Campos

model ModelOption  (opcional)

Es el nombre del `Modelo` que se usó para generar la interacción.

Valores posibles:

  • gemini-2.5-pro

    Nuestro modelo polivalente de vanguardia, que se destaca en la programación y las tareas de razonamiento complejas.

  • gemini-2.5-flash

    Nuestro primer modelo de razonamiento híbrido que admite una ventana de contexto de 1 millón de tokens y tiene presupuestos de pensamiento.

  • gemini-2.5-flash-preview-09-2025

    Es el modelo más reciente basado en el modelo 2.5 Flash. La versión preliminar de 2.5 Flash es ideal para el procesamiento a gran escala, la baja latencia, las tareas de gran volumen que requieren pensamiento y los casos de uso de agentes.

  • gemini-2.5-flash-lite

    Es nuestro modelo más pequeño y rentable, diseñado para el uso a gran escala.

  • gemini-2.5-flash-lite-preview-09-2025

    Es el modelo más reciente basado en Gemini 2.5 Flash lite, optimizado para la rentabilidad, el alto rendimiento y la alta calidad.

  • gemini-2.5-flash-preview-native-audio-dialog

    Nuestros modelos de audio nativos están optimizados para obtener salidas de audio de mayor calidad con mejor ritmo, naturalidad de la voz, verbosidad y estado de ánimo.

  • gemini-2.5-flash-image-preview

    Nuestro modelo de generación de imágenes nativo, optimizado para la velocidad, la flexibilidad y la comprensión contextual. La entrada y salida de texto tienen el mismo precio que 2.5 Flash.

  • gemini-2.5-pro-preview-tts

    Nuestro modelo de audio de texto a voz 2.5 Pro está optimizado para la generación de voz potente y de baja latencia, lo que permite obtener resultados más naturales y facilita la dirección de las instrucciones.

  • gemini-3-pro-preview

    Nuestro modelo más inteligente con razonamiento y comprensión multimodal de vanguardia, y potentes capacidades de programación de agentes y vibe coding.

Es el modelo que completará tu instrucción.\n\nConsulta [modelos](https://ai.google.dev/gemini-api/docs/models) para obtener más detalles.

agent AgentOption  (opcional)

Es el nombre del `Agent` que se usó para generar la interacción.

Valores posibles:

  • deep-research-pro-preview-12-2025

    Agente de Deep Research de Gemini

Es el agente con el que se interactuará.

id cadena  (opcional)

Solo salida. Es un identificador único para la finalización de la interacción.

status enum (cadena)  (opcional)

Solo salida. Es el estado de la interacción.

Valores posibles:

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
created cadena  (opcional)

Solo salida. Es la fecha y hora en que se creó la respuesta en formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

updated cadena  (opcional)

Solo salida. Fecha y hora en que se actualizó por última vez la respuesta en formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

role string  (opcional)

Solo salida. Es el rol de la interacción.

outputs array (Content)  (opcional)

Solo salida. Son las respuestas del modelo.

object string  (opcional)

Solo salida. Es el tipo de objeto de la interacción. Siempre se establece en "interaction".

Siempre se establece en "interaction".

usage Usage  (opcional)

Solo salida. Son estadísticas sobre el uso de tokens de la solicitud de interacción.

Son estadísticas sobre el uso de tokens de la solicitud de interacción.

Campos

total_input_tokens integer  (opcional)

Cantidad de tokens en la instrucción (contexto).

input_tokens_by_modality ModalityTokens  (opcional)

Es un desglose del uso de tokens de entrada por modalidad.

Es el recuento de tokens para una sola modalidad de respuesta.

Campos

modalidad ResponseModality  (opcional)

Es la modalidad asociada con el recuento de tokens.

Valores posibles:

  • text
  • image
  • audio

tokens integer  (opcional)

Cantidad de tokens para la modalidad.

total_cached_tokens integer  (opcional)

Cantidad de tokens en la parte almacenada en caché de la instrucción (el contenido almacenado en caché).

cached_tokens_by_modality ModalityTokens  (opcional)

Es un desglose del uso de tokens almacenados en caché por modalidad.

Es el recuento de tokens para una sola modalidad de respuesta.

Campos

modalidad ResponseModality  (opcional)

Es la modalidad asociada con el recuento de tokens.

Valores posibles:

  • text
  • image
  • audio

tokens integer  (opcional)

Cantidad de tokens para la modalidad.

total_output_tokens integer  (opcional)

Es la cantidad total de tokens en todas las respuestas generadas.

output_tokens_by_modality ModalityTokens  (opcional)

Es un desglose del uso de tokens de salida por modalidad.

Es el recuento de tokens para una sola modalidad de respuesta.

Campos

modalidad ResponseModality  (opcional)

Es la modalidad asociada con el recuento de tokens.

Valores posibles:

  • text
  • image
  • audio

tokens integer  (opcional)

Cantidad de tokens para la modalidad.

total_tool_use_tokens integer  (opcional)

Cantidad de tokens presentes en las instrucciones de uso de herramientas.

tool_use_tokens_by_modality ModalityTokens  (opcional)

Es un desglose del uso de tokens de uso de herramientas por modalidad.

Es el recuento de tokens para una sola modalidad de respuesta.

Campos

modalidad ResponseModality  (opcional)

Es la modalidad asociada con el recuento de tokens.

Valores posibles:

  • text
  • image
  • audio

tokens integer  (opcional)

Cantidad de tokens para la modalidad.

total_reasoning_tokens integer  (opcional)

Cantidad de tokens de pensamientos para los modelos de pensamiento.

total_tokens integer  (opcional)

Es el recuento total de tokens para la solicitud de interacción (instrucción + respuestas + otros tokens internos).

previous_interaction_id cadena  (opcional)

ID de la interacción anterior, si corresponde.

Ejemplos

Ejemplo

{
  "created": "2025-12-04T15:01:45Z",
  "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",
  "model": "gemini-2.5-flash",
  "object": "interaction",
  "outputs": [
    {
      "text": "Hello! I'm doing well, functioning as expected. Thank you for asking! How are you doing today?",
      "type": "text"
    }
  ],
  "role": "model",
  "status": "completed",
  "updated": "2025-12-04T15:01:45Z",
  "usage": {
    "input_tokens_by_modality": [
      {
        "modality": "text",
        "tokens": 7
      }
    ],
    "total_cached_tokens": 0,
    "total_input_tokens": 7,
    "total_output_tokens": 23,
    "total_reasoning_tokens": 49,
    "total_tokens": 79,
    "total_tool_use_tokens": 0
  }
}

Modelos de datos

Contenido

Es el contenido de la respuesta.

Tipos posibles

Discriminador polimórfico: type

TextContent

Es un bloque de contenido de texto.

text cadena  (opcional)

Es el contenido de texto.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "text".

anotaciones Annotation  (opcional)

Es la información de citas para el contenido generado por el modelo.

Es la información de citas para el contenido generado por el modelo.

Campos

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente. El índice indica el inicio del segmento, medido en bytes.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

source cadena  (opcional)

Es la fuente atribuida a una parte del texto. Puede ser una URL, un título o algún otro identificador.

ImageContent

Es un bloque de contenido de imagen.

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type ImageMimeTypeOption  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif

Es el tipo de MIME de la imagen.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "image".

resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high

AudioContent

Es un bloque de contenido de audio.

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type AudioMimeTypeOption  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac

Tipo MIME del audio.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "audio".

DocumentContent

Es un bloque de contenido de un documento.

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type cadena  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "document".

VideoContent

Es un bloque de contenido de video.

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type VideoMimeTypeOption  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • video/mp4
  • video/mpeg
  • video/mov
  • video/avi
  • video/x-flv
  • video/mpg
  • video/webm
  • video/wmv
  • video/3gpp

Es el tipo de MIME del video.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "video".

resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high

ThoughtContent

Es un bloque de contenido de pensamiento.

signature string  (opcional)

Firma para que coincida con la fuente del backend que formará parte de la generación.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "thought".

summary ThoughtSummary  (opcional)

Un resumen del pensamiento

Un resumen del pensamiento

FunctionCallContent

Es un bloque de contenido de llamada a herramienta de función.

name cadena  (obligatorio)

Es el nombre de la herramienta a la que se llamará.

arguments object  (obligatorio)

Son los argumentos que se pasarán a la función.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "function_call".

id cadena  (obligatorio)

Es un ID único para esta llamada a herramienta específica.

FunctionResultContent

Es un bloque de contenido del resultado de una herramienta de función.

name string  (opcional)

Es el nombre de la herramienta a la que se llamó.

is_error boolean  (opcional)

Indica si la llamada a la herramienta generó un error.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "function_result".

result objeto o cadena  (obligatorio)

Es el resultado de la llamada a la herramienta.

call_id cadena  (obligatorio)

Es el ID que debe coincidir con el ID del bloque de llamada a la función.

CodeExecutionCallContent

Contenido de ejecución de código.

arguments CodeExecutionCallArguments  (opcional)

Son los argumentos que se pasarán a la ejecución del código.

Son los argumentos que se pasarán a la ejecución del código.

Campos

language enum (cadena)  (opcional)

Lenguaje de programación del `código`.

Valores posibles:

  • python
code string  (opcional)

Es el código que se ejecutará.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "code_execution_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

CodeExecutionResultContent

Es el contenido del resultado de la ejecución del código.

result cadena  (opcional)

Es el resultado de la ejecución del código.

is_error boolean  (opcional)

Indica si la ejecución del código generó un error.

signature string  (opcional)

Es un hash de firma para la validación de backend.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "code_execution_result".

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamadas de ejecución de código.

UrlContextCallContent

Es el contenido del contexto de la URL.

arguments UrlContextCallArguments  (opcional)

Son los argumentos que se pasarán al contexto de la URL.

Son los argumentos que se pasarán al contexto de la URL.

Campos

urls array (string)  (opcional)

URLs que se recuperarán.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "url_context_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

UrlContextResultContent

Es el contenido del resultado del contexto de la URL.

signature string  (opcional)

Es la firma del resultado del contexto de la URL.

result UrlContextResult  (opcional)

Son los resultados del contexto de la URL.

Es el resultado del contexto de la URL.

Campos

url cadena  (opcional)

Es la URL que se recuperó.

status enum (cadena)  (opcional)

Es el estado de la recuperación de la URL.

Valores posibles:

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (opcional)

Indica si el contexto de la URL generó un error.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "url_context_result".

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamadas de contexto de URL.

GoogleSearchCallContent

Contenido de la Búsqueda de Google

arguments GoogleSearchCallArguments  (opcional)

Son los argumentos que se pasarán a la Búsqueda de Google.

Son los argumentos que se pasarán a la Búsqueda de Google.

Campos

queries array (string)  (opcional)

Son las búsquedas web para la búsqueda web de seguimiento.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "google_search_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

GoogleSearchResultContent

Es el contenido del resultado de la Búsqueda de Google.

signature string  (opcional)

Es la firma del resultado de la Búsqueda de Google.

result GoogleSearchResult  (opcional)

Son los resultados de la Búsqueda de Google.

Es el resultado de la Búsqueda de Google.

Campos

url cadena  (opcional)

Es la referencia al URI del resultado de la búsqueda.

title cadena  (opcional)

Es el título del resultado de la búsqueda.

rendered_content cadena  (opcional)

Es un fragmento de contenido web que se puede incorporar en una página web o en un WebView de una app.

is_error boolean  (opcional)

Indica si la Búsqueda de Google generó un error.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "google_search_result".

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamadas de la Búsqueda de Google.

McpServerToolCallContent

Es el contenido de la llamada a la herramienta de MCPServer.

name cadena  (obligatorio)

Es el nombre de la herramienta a la que se llamó.

server_name cadena  (obligatorio)

Es el nombre del servidor de MCP que se usó.

arguments object  (obligatorio)

Objeto JSON de argumentos para la función.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "mcp_server_tool_call".

id cadena  (obligatorio)

Es un ID único para esta llamada a herramienta específica.

McpServerToolResultContent

Es el contenido del resultado de la herramienta MCPServer.

name string  (opcional)

Nombre de la herramienta que se llama para esta llamada a la herramienta específica.

server_name cadena  (opcional)

Es el nombre del servidor de MCP que se usó.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "mcp_server_tool_result".

result objeto o cadena  (obligatorio)

Es el resultado de la llamada a la herramienta.

call_id cadena  (obligatorio)

Es el ID que debe coincidir con el ID del bloque de llamada a la herramienta del servidor de MCP.

FileSearchResultContent

Es el contenido del resultado de la búsqueda de archivos.

result FileSearchResult  (opcional)

Son los resultados de la búsqueda de archivos.

Es el resultado de la búsqueda de archivos.

Campos

title cadena  (opcional)

Título del resultado de búsqueda.

text cadena  (opcional)

Es el texto del resultado de la búsqueda.

file_search_store cadena  (opcional)

Es el nombre del almacén de búsqueda de archivos.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "file_search_result".

Ejemplos

Texto

{
  "type": "text",
  "text": "Hello, how are you?"
}

Imagen

{
  "type": "image",
  "data": "BASE64_ENCODED_IMAGE",
  "mime_type": "image/png"
}

Audio

{
  "type": "audio",
  "data": "BASE64_ENCODED_AUDIO",
  "mime_type": "audio/wav"
}

Documento

{
  "type": "document",
  "data": "BASE64_ENCODED_DOCUMENT",
  "mime_type": "application/pdf"
}

Video

{
  "type": "video",
  "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg"
}

Pensamiento

{
  "type": "thought",
  "summary": [
    {
      "type": "text",
      "text": "The user is asking about the weather. I should use the get_weather tool."
    }
  ],
  "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh"
}

Llamada a función

{
  "type": "function_call",
  "name": "get_weather",
  "id": "gth23981",
  "arguments": {
    "location": "Boston, MA"
  }
}

Resultado de la función

{
  "type": "function_result",
  "name": "get_weather",
  "call_id": "gth23981",
  "result": {
    "weather": "sunny"
  }
}

Llamada de ejecución de código

{
  "type": "code_execution_call",
  "id": "call_123456",
  "arguments": {
    "language": "python",
    "code": "print('hello world')"
  }
}

Resultado de la ejecución del código

{
  "type": "code_execution_result",
  "call_id": "call_123456",
  "result": "hello world\n"
}

Llamada de contexto de URL

{
  "type": "url_context_call",
  "id": "call_123456",
  "arguments": {
    "urls": [
      "https://www.example.com"
    ]
  }
}

Resultado del contexto de URL

{
  "type": "url_context_result",
  "call_id": "call_123456",
  "result": [
    {
      "url": "https://www.example.com",
      "status": "SUCCESS"
    }
  ]
}

Llamada de la Búsqueda de Google

{
  "type": "google_search_call",
  "id": "call_123456",
  "arguments": {
    "queries": [
      "weather in Boston"
    ]
  }
}

Resultado de la Búsqueda de Google

{
  "type": "google_search_result",
  "call_id": "call_123456",
  "result": [
    {
      "url": "https://www.google.com/search?q=weather+in+Boston",
      "title": "Weather in Boston"
    }
  ]
}

Llamada a la herramienta del servidor de MCP

{
  "type": "mcp_server_tool_call",
  "id": "call_123456",
  "name": "get_forecast",
  "server_name": "weather_server",
  "arguments": {
    "city": "London"
  }
}

Resultado de la herramienta del servidor de MCP

{
  "type": "mcp_server_tool_result",
  "name": "get_forecast",
  "server_name": "weather_server",
  "call_id": "call_123456",
  "result": "sunny"
}

Resultado de la búsqueda de archivos

{
  "type": "file_search_result",
  "result": [
    {
      "text": "search result chunk",
      "file_search_store": "file_search_store"
    }
  ]
}

Herramienta

Tipos posibles

Discriminador polimórfico: type

Función

Es una herramienta que puede usar el modelo.

name string  (opcional)

Es el nombre de la función.

description cadena  (opcional)

Es una descripción de la función.

parameters objeto  (opcional)

Es el esquema JSON para los parámetros de la función.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "function".

GoogleSearch

Es una herramienta que el modelo puede usar para buscar en Google.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_search".

CodeExecution

Es una herramienta que el modelo puede usar para ejecutar código.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "code_execution".

UrlContext

Es una herramienta que el modelo puede usar para recuperar el contexto de la URL.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_context".

ComputerUse

Es una herramienta que el modelo puede usar para interactuar con la computadora.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "computer_use".

environment enum (cadena)  (opcional)

Es el entorno en el que se opera.

Valores posibles:

  • browser
excludedPredefinedFunctions array (string)  (opcional)

Es la lista de funciones predefinidas que se excluyen de la llamada al modelo.

McpServer

Un MCPServer es un servidor al que puede llamar el modelo para realizar acciones.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "mcp_server".

name string  (opcional)

Es el nombre del servidor de MCP.

url cadena  (opcional)

Es la URL completa del extremo de MCPServer. Ejemplo: "https://api.example.com/mcp"

headers object  (opcional)

Opcional: Campos para encabezados de autenticación, tiempos de espera, etcétera, si es necesario.

allowed_tools AllowedTools  (opcional)

Las herramientas permitidas.

Es la configuración de las herramientas permitidas.

Campos

mode ToolChoiceType  (opcional)

Es el modo de la elección de la herramienta.

Valores posibles:

  • auto
  • any
  • none
  • validated

tools array (string)  (opcional)

Son los nombres de las herramientas permitidas.

FileSearch

Es una herramienta que el modelo puede usar para buscar archivos.

file_search_store_names array (cadena)  (opcional)

Son los nombres de los almacenes de búsqueda de archivos en los que se realizará la búsqueda.

top_k integer  (opcional)

Es la cantidad de fragmentos de recuperación semántica que se recuperarán.

metadata_filter cadena  (opcional)

Es un filtro de metadatos que se aplica a los documentos y fragmentos recuperados de forma semántica.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_search".

Ejemplos

Función

GoogleSearch

CodeExecution

UrlContext

ComputerUse

McpServer

FileSearch

Turn

Campos

role string  (opcional)

Es el originador de este turno. Debe ser el usuario para la entrada o el modelo para la salida del modelo.

content array (Content) o string  (opcional)

Es el contenido del turno.

Ejemplos

Turno del usuario

{
  "role": "user",
  "content": [
    {
      "type": "text",
      "text": "user turn"
    }
  ]
}

Giro del modelo

{
  "role": "model",
  "content": [
    {
      "type": "text",
      "text": "model turn"
    }
  ]
}

InteractionSseEvent

Tipos posibles

Discriminador polimórfico: event_type

InteractionEvent

event_type enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • interaction.start
  • interaction.complete
interaction Interaction  (opcional)

No se proporcionó la descripción.

event_id cadena  (opcional)

Es el token de event_id que se usará para reanudar el flujo de interacción a partir de este evento.

InteractionStatusUpdate

interaction_id cadena  (opcional)

No se proporcionó la descripción.

status enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
event_type cadena  (opcional)

No se proporcionó la descripción.

Siempre se establece en "interaction.status_update".

event_id cadena  (opcional)

Es el token de event_id que se usará para reanudar el flujo de interacción a partir de este evento.

ContentStart

index integer  (opcional)

No se proporcionó la descripción.

content Content  (opcional)

No se proporcionó la descripción.

event_type cadena  (opcional)

No se proporcionó la descripción.

Siempre se establece en "content.start".

event_id cadena  (opcional)

Es el token de event_id que se usará para reanudar el flujo de interacción a partir de este evento.

ContentDelta

index integer  (opcional)

No se proporcionó la descripción.

event_type cadena  (opcional)

No se proporcionó la descripción.

Siempre se establece en "content.delta".

event_id cadena  (opcional)

Es el token de event_id que se usará para reanudar el flujo de interacción a partir de este evento.

delta object  (opcional)

No se proporcionó la descripción.

Tipos posibles

Discriminador polimórfico: type

TextDelta

text cadena  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "text".

anotaciones Annotation  (opcional)

Es la información de citas para el contenido generado por el modelo.

Es la información de citas para el contenido generado por el modelo.

Campos

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente. El índice indica el inicio del segmento, medido en bytes.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

source cadena  (opcional)

Es la fuente atribuida a una parte del texto. Puede ser una URL, un título o algún otro identificador.

ImageDelta

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type ImageMimeTypeOption  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif

Es el tipo de MIME de la imagen.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "image".

resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high

AudioDelta

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type AudioMimeTypeOption  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac

Tipo MIME del audio.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "audio".

DocumentDelta

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type cadena  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "document".

VideoDelta

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type VideoMimeTypeOption  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • video/mp4
  • video/mpeg
  • video/mov
  • video/avi
  • video/x-flv
  • video/mpg
  • video/webm
  • video/wmv
  • video/3gpp

Es el tipo de MIME del video.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "video".

resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high

ThoughtSummaryDelta

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "thought_summary".

content ImageContent o TextContent  (opcional)

No se proporcionó la descripción.

ThoughtSignatureDelta

signature string  (opcional)

Firma para que coincida con la fuente del backend que formará parte de la generación.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "thought_signature".

FunctionCallDelta

name string  (opcional)

No se proporcionó la descripción.

arguments object  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "function_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

FunctionResultDelta

name string  (opcional)

No se proporcionó la descripción.

is_error boolean  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "function_result".

result objeto o cadena  (opcional)

Es el delta del resultado de la llamada a la herramienta.

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamada a la función.

CodeExecutionCallDelta

arguments CodeExecutionCallArguments  (opcional)

No se proporcionó la descripción.

Son los argumentos que se pasarán a la ejecución del código.

Campos

language enum (cadena)  (opcional)

Lenguaje de programación del `código`.

Valores posibles:

  • python
code string  (opcional)

Es el código que se ejecutará.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "code_execution_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

CodeExecutionResultDelta

result cadena  (opcional)

No se proporcionó la descripción.

is_error boolean  (opcional)

No se proporcionó la descripción.

signature string  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "code_execution_result".

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamada a la función.

UrlContextCallDelta

arguments UrlContextCallArguments  (opcional)

No se proporcionó la descripción.

Son los argumentos que se pasarán al contexto de la URL.

Campos

urls array (string)  (opcional)

URLs que se recuperarán.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "url_context_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

UrlContextResultDelta

signature string  (opcional)

No se proporcionó la descripción.

result UrlContextResult  (opcional)

No se proporcionó la descripción.

Es el resultado del contexto de la URL.

Campos

url cadena  (opcional)

Es la URL que se recuperó.

status enum (cadena)  (opcional)

Es el estado de la recuperación de la URL.

Valores posibles:

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "url_context_result".

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamada a la función.

GoogleSearchCallDelta

arguments GoogleSearchCallArguments  (opcional)

No se proporcionó la descripción.

Son los argumentos que se pasarán a la Búsqueda de Google.

Campos

queries array (string)  (opcional)

Son las búsquedas web para la búsqueda web de seguimiento.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "google_search_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

GoogleSearchResultDelta

signature string  (opcional)

No se proporcionó la descripción.

result GoogleSearchResult  (opcional)

No se proporcionó la descripción.

Es el resultado de la Búsqueda de Google.

Campos

url cadena  (opcional)

Es la referencia al URI del resultado de la búsqueda.

title cadena  (opcional)

Es el título del resultado de la búsqueda.

rendered_content cadena  (opcional)

Es un fragmento de contenido web que se puede incorporar en una página web o en un WebView de una app.

is_error boolean  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "google_search_result".

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamada a la función.

McpServerToolCallDelta

name string  (opcional)

No se proporcionó la descripción.

server_name cadena  (opcional)

No se proporcionó la descripción.

arguments object  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "mcp_server_tool_call".

id cadena  (opcional)

Es un ID único para esta llamada a herramienta específica.

McpServerToolResultDelta

name string  (opcional)

No se proporcionó la descripción.

server_name cadena  (opcional)

No se proporcionó la descripción.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "mcp_server_tool_result".

result objeto o cadena  (opcional)

Es el delta del resultado de la llamada a la herramienta.

call_id cadena  (opcional)

Es el ID que debe coincidir con el ID del bloque de llamada a la función.

FileSearchResultDelta

result FileSearchResult  (opcional)

No se proporcionó la descripción.

Es el resultado de la búsqueda de archivos.

Campos

title cadena  (opcional)

Título del resultado de búsqueda.

text cadena  (opcional)

Es el texto del resultado de la búsqueda.

file_search_store cadena  (opcional)

Es el nombre del almacén de búsqueda de archivos.

type string  (obligatorio)

Se usa como discriminador de tipo de OpenAPI para el contenido de oneof.

Siempre se establece en "file_search_result".

ContentStop

index integer  (opcional)

No se proporcionó la descripción.

event_type cadena  (opcional)

No se proporcionó la descripción.

Siempre se establece en "content.stop".

event_id cadena  (opcional)

Es el token de event_id que se usará para reanudar el flujo de interacción a partir de este evento.

ErrorEvent

event_type cadena  (opcional)

No se proporcionó la descripción.

Siempre se establece en "error".

error Error  (opcional)

No se proporcionó la descripción.

Es un mensaje de error de una interacción.

Campos

code string  (opcional)

Es un URI que identifica el tipo de error.

message cadena  (opcional)

Es un mensaje de error legible.

event_id cadena  (opcional)

Es el token de event_id que se usará para reanudar el flujo de interacción a partir de este evento.

Ejemplos

Inicio de la interacción

{
  "event_type": "interaction.start",
  "interaction": {
    "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
    "model": "gemini-2.5-flash",
    "object": "interaction",
    "status": "in_progress"
  }
}

Interacción completa

{
  "event_type": "interaction.complete",
  "interaction": {
    "created": "2025-12-09T18:45:40Z",
    "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
    "model": "gemini-2.5-flash",
    "object": "interaction",
    "outputs": [
      {
        "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh",
        "type": "thought"
      },
      {
        "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save",
        "type": "text"
      },
      {
        "text": " for one beloved anomaly: a chipped porcelain teacup, inherited from her grandmother, which held her morning Earl Grey.\n\nOne Tuesday, stirring her tea, Elara paused. At the bottom, nestled against the porcelain, was a star.",
        "type": "text"
      },
      {
        "text": " Not a star-shaped tea leaf, but a miniature, perfectly formed celestial body, radiating a faint, cool luminescence. Before she could gasp, it dissolved, leaving only the amber swirl of her brew. She dismissed it as a trick of",
        "type": "text"
      },
      {
        "text": " tired eyes.\n\nBut the next morning, a gossamer-thin feather, smaller than an eyelash and shimmering with iridescent hues, floated on the surface. It vanished the moment she tried to touch it. A week later, a single,",
        "type": "text"
      },
      {
        "text": " impossibly delicate bloom, like spun moonbeam, unfolded in her cup before fading into nothingness.\n\nThese weren't illusions. Each day, Elara\u2019s chipped teacup offered a fleeting, exquisite secret. A tiny, perfect",
        "type": "text"
      },
      {
        "text": " crystal, a miniature spiral nebula, a fragment of rainbow caught in liquid form. They never lingered, never accumulated, simply *were* and then *weren't*, leaving behind a residue of quiet wonder.\n\nElara never spoke",
        "type": "text"
      },
      {
        "text": " of it. It was her private wellspring, a daily reminder that magic could exist in the smallest, most overlooked corners of the world. Her routine remained unchanged, her external life a picture of calm, but inside, a secret garden blo",
        "type": "text"
      },
      {
        "text": "omed. Each dawn brought not just tea, but the silent promise of extraordinary beauty, waiting patiently in a chipped teacup.",
        "type": "text"
      }
    ],
    "role": "model",
    "status": "completed",
    "updated": "2025-12-09T18:45:40Z",
    "usage": {
      "input_tokens_by_modality": [
        {
          "modality": "text",
          "tokens": 11
        }
      ],
      "total_cached_tokens": 0,
      "total_input_tokens": 11,
      "total_output_tokens": 364,
      "total_reasoning_tokens": 1120,
      "total_tokens": 1495,
      "total_tool_use_tokens": 0
    }
  }
}

Actualización del estado de la interacción

{
  "event_type": "interaction.status_update",
  "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
  "status": "in_progress"
}

Inicio del contenido

{
  "event_type": "content.start",
  "content": {
    "type": "text"
  },
  "index": 1
}

Delta de contenido

{
  "event_type": "content.delta",
  "delta": {
    "type": "text",
    "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save"
  },
  "index": 1
}

Detención del contenido

{
  "event_type": "content.stop",
  "index": 1
}

Evento de error

{
  "event_type": "error",
  "error": {
    "message": "Failed to get completed interaction: Result not found.",
    "code": "not_found"
  }
}