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-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-image

    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-flash-lite

    Es nuestro modelo más pequeño y rentable, diseñado para un 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-native-audio-preview-12-2025

    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-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-preview-tts

    Nuestro modelo de texto a voz 2.5 Flash optimizado para una generación de voz potente, controlable y de baja latencia.

  • gemini-2.5-pro

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

  • 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-flash-preview

    Nuestro modelo más inteligente creado para ofrecer velocidad, que combina inteligencia de vanguardia con capacidades superiores de búsqueda y fundamentación.

  • gemini-3-pro-image-preview

    Modelo de generación y edición de imágenes de vanguardia.

  • gemini-3-pro-preview

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

  • gemini-3.1-pro-preview

    Nuestro modelo de razonamiento SOTA más reciente con una profundidad y un nivel de detalle sin precedentes, y potentes capacidades de comprensión multimodal y programación.

  • gemini-3.1-flash-image-preview

    Inteligencia visual de nivel profesional con eficiencia de velocidad Flash y capacidades de generación fundamentadas en la realidad.

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)

Aplica 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.

transmisión booleano  (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 recuperarlas más tarde.

background boolean  (opcional)

Solo entrada. 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.

seed integer  (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.

thinking_level ThinkingLevel  (opcional)

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

Valores posibles:

  • minimal
  • low
  • medium
  • 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.

image_config ImageConfig  (opcional)

Es la configuración para la interacción con la imagen.

Es la configuración de la interacción con la imagen.

Campos

aspect_ratio enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • 1:1
  • 2:3
  • 3:2
  • 3:4
  • 4:3
  • 4:5
  • 5:4
  • 9:16
  • 16:9
  • 21:9
  • 1:8
  • 8:1
  • 1:4
  • 4:1
image_size enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • 1K
  • 2K
  • 4K
  • 512
tool_choice ToolChoiceConfig o ToolChoiceType  (opcional)

Es la elección de la herramienta para la interacció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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "dynamic".

DeepResearchAgentConfig

Es la configuración del agente de Deep Research.

thinking_summaries ThinkingSummaries  (opcional)

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

Valores posibles:

  • auto
  • none

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "deep-research".

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-3-flash-preview",
  "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_thought_tokens": 22,
    "total_tokens": 49,
    "total_tool_use_tokens": 0
  }
}

Varios turnos

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "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_thought_tokens": 0,
    "total_tokens": 60,
    "total_tool_use_tokens": 0
  }
}

Entrada de imagen

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "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_thought_tokens": 0,
    "total_tokens": 288,
    "total_tool_use_tokens": 0
  }
}

Llamada a función

Ejemplo de respuesta

{
  "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg",
  "model": "gemini-3-flash-preview",
  "status": "requires_action",
  "object": "interaction",
  "created": "2025-11-26T12:22:47Z",
  "updated": "2025-11-26T12:22:47Z",
  "role": "model",
  "outputs": [
    {
      "type": "function_call",
      "id": "gth23981",
      "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_thought_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": "agent",
  "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_thought_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á.

transmisión booleano  (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.

include_input booleano  (opcional)

Si se establece como verdadero, incluye la entrada en la respuesta.

Valor predeterminado: False

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-3-flash-preview",
  "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 cancelará.

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": "agent"
}

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-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-image

    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-flash-lite

    Es nuestro modelo más pequeño y rentable, diseñado para un 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-native-audio-preview-12-2025

    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-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-preview-tts

    Nuestro modelo de texto a voz 2.5 Flash optimizado para una generación de voz potente, controlable y de baja latencia.

  • gemini-2.5-pro

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

  • 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-flash-preview

    Nuestro modelo más inteligente creado para ofrecer velocidad, que combina inteligencia de vanguardia con capacidades superiores de búsqueda y fundamentación.

  • gemini-3-pro-image-preview

    Modelo de generación y edición de imágenes de vanguardia.

  • gemini-3-pro-preview

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

  • gemini-3.1-pro-preview

    Nuestro modelo de razonamiento SOTA más reciente con una profundidad y un nivel de detalle sin precedentes, y potentes capacidades de comprensión multimodal y programación.

  • gemini-3.1-flash-image-preview

    Inteligencia visual de nivel profesional con eficiencia de velocidad Flash y capacidades de generación fundamentadas en la realidad.

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
  • incomplete
created cadena  (opcional)

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

updated string  (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 cadena  (opcional)

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

outputs array (Content)  (opcional)

Solo salida. Son las respuestas del modelo.

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.

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_thought_tokens integer  (opcional)

Cantidad de tokens de pensamientos para los modelos de razonamiento.

total_tokens integer  (opcional)

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

response_modalities ResponseModality  (opcional)

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

Valores posibles:

  • text
  • image
  • audio

response_format objeto  (opcional)

Aplica 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.

previous_interaction_id cadena  (opcional)

ID de la interacción anterior, si corresponde.

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

agent_config object  (opcional)

Son los parámetros de configuración para la interacción del agente.

Tipos posibles

Discriminador polimórfico: type

DynamicAgentConfig

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

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "dynamic".

DeepResearchAgentConfig

Es la configuración del agente de Deep Research.

thinking_summaries ThinkingSummaries  (opcional)

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

Valores posibles:

  • auto
  • none

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "deep-research".

Ejemplos

Ejemplo

{
  "created": "2025-12-04T15:01:45Z",
  "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",
  "model": "gemini-3-flash-preview",
  "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_thought_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  (obligatorio)

Es el contenido de texto.

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.

Tipos posibles

Discriminador polimórfico: type

UrlCitation

Es una anotación de cita de URL.

url cadena  (opcional)

Es la URL.

title cadena  (opcional)

Es el título de la URL.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

FileCitation

Es una anotación de cita de archivo.

document_uri cadena  (opcional)

Es el URI del archivo.

file_name cadena  (opcional)

Es el nombre del archivo.

source cadena  (opcional)

Es la fuente atribuida a una parte del texto.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

PlaceCitation

Es una anotación de cita de lugar.

place_id cadena  (opcional)

Es el ID del lugar, en formato `places/{place_id}`.

name string  (opcional)

Título del lugar.

url cadena  (opcional)

Es la referencia URI del lugar.

review_snippets ReviewSnippet  (opcional)

Son fragmentos de opiniones que se usan para generar respuestas sobre las características de un lugar determinado en Google Maps.

Encapsula un fragmento de una opinión del usuario que responde una pregunta sobre las características de un lugar específico en Google Maps.

Campos

title cadena  (opcional)

Es el título de la opinión.

url cadena  (opcional)

Es un vínculo que corresponde a la opinión del usuario en Google Maps.

review_id cadena  (opcional)

Es el ID del fragmento de opinión.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "place_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "text".

ImageContent

Es un bloque de contenido de imagen.

data cadena  (opcional)

Es el contenido de la imagen.

uri cadena  (opcional)

El URI de la imagen.

mime_type enum (cadena)  (opcional)

Es el tipo de MIME de la imagen.

Valores posibles:

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high
  • ultra_high

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "image".

AudioContent

Es un bloque de contenido de audio.

data cadena  (opcional)

Es el contenido de audio.

uri cadena  (opcional)

Es el URI del audio.

mime_type enum (cadena)  (opcional)

Tipo MIME del audio.

Valores posibles:

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac
type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "audio".

DocumentContent

Es un bloque de contenido de un documento.

data cadena  (opcional)

Es el contenido del documento.

uri cadena  (opcional)

Es el URI del documento.

mime_type enum (cadena)  (opcional)

Es el tipo MIME del documento.

Valores posibles:

  • application/pdf
type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "document".

VideoContent

Es un bloque de contenido de video.

data cadena  (opcional)

Es el contenido del video.

uri cadena  (opcional)

Es el URI del video.

mime_type enum (cadena)  (opcional)

Es el tipo de MIME del video.

Valores posibles:

  • video/mp4
  • video/mpeg
  • video/mpg
  • video/mov
  • video/avi
  • video/x-flv
  • video/webm
  • video/wmv
  • video/3gpp
resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high
  • ultra_high

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "video".

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.

summary ThoughtSummaryContent  (opcional)

Un resumen del pensamiento

Tipos posibles

Discriminador polimórfico: type

TextContent

Es un bloque de contenido de texto.

text cadena  (obligatorio)

Es el contenido de texto.

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.

Tipos posibles

Discriminador polimórfico: type

UrlCitation

Es una anotación de cita de URL.

url cadena  (opcional)

Es la URL.

title cadena  (opcional)

Es el título de la URL.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

FileCitation

Es una anotación de cita de archivo.

document_uri cadena  (opcional)

Es el URI del archivo.

file_name cadena  (opcional)

Es el nombre del archivo.

source cadena  (opcional)

Es la fuente atribuida a una parte del texto.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

PlaceCitation

Es una anotación de cita de lugar.

place_id cadena  (opcional)

Es el ID del lugar, en formato `places/{place_id}`.

name string  (opcional)

Título del lugar.

url cadena  (opcional)

Es la referencia URI del lugar.

review_snippets ReviewSnippet  (opcional)

Son fragmentos de opiniones que se usan para generar respuestas sobre las características de un lugar determinado en Google Maps.

Encapsula un fragmento de una opinión del usuario que responde una pregunta sobre las características de un lugar específico en Google Maps.

Campos

title cadena  (opcional)

Es el título de la opinión.

url cadena  (opcional)

Es un vínculo que corresponde a la opinión del usuario en Google Maps.

review_id cadena  (opcional)

Es el ID del fragmento de opinión.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "place_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "text".

ImageContent

Es un bloque de contenido de imagen.

data cadena  (opcional)

Es el contenido de la imagen.

uri cadena  (opcional)

El URI de la imagen.

mime_type enum (cadena)  (opcional)

Es el tipo de MIME de la imagen.

Valores posibles:

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high
  • ultra_high

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "image".

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "thought".

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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "function_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

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.

result array (FunctionResultSubcontent) o string  (obligatorio)

Es el resultado de la llamada a la herramienta.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "function_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

CodeExecutionCallContent

Contenido de ejecución de código.

arguments CodeExecutionCallArguments  (obligatorio)

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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "code_execution_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

CodeExecutionResultContent

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

result string  (obligatorio)

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.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "code_execution_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

UrlContextCallContent

Es el contenido del contexto de la URL.

arguments UrlContextCallArguments  (obligatorio)

Argumentos para pasar al contexto de la URL.

Argumentos para pasar al contexto de la URL.

Campos

urls array (string)  (opcional)

URLs que se recuperarán.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_context_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

UrlContextResultContent

Es el contenido del resultado del contexto de la URL.

result UrlContextResult  (obligatorio)

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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_context_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

GoogleSearchCallContent

Contenido de la Búsqueda de Google

arguments GoogleSearchCallArguments  (obligatorio)

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.

search_type enum (cadena)  (opcional)

Es el tipo de fundamentación de la búsqueda habilitada.

Valores posibles:

  • web_search
  • image_search
type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_search_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

GoogleSearchResultContent

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

result GoogleSearchResult  (obligatorio)

Son los resultados de la Búsqueda de Google.

Es el resultado de la Búsqueda de Google.

Campos

search_suggestions 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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_search_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "mcp_server_tool_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

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ó.

result array (FunctionResultSubcontent) o string  (obligatorio)

Es el resultado de la llamada al servidor de MCP. Puede ser texto simple o contenido enriquecido.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "mcp_server_tool_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

FileSearchCallContent

Contenido de la Búsqueda de archivos

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_search_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

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.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_search_result".

call_id cadena  (obligatorio)

Es el ID que debe coincidir con el ID del bloque de llamadas de búsqueda de archivos.

signature string  (opcional)

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

GoogleMapsCallContent

Contenido de Google Maps.

arguments GoogleMapsCallArguments  (opcional)

Son los argumentos que se pasarán a la herramienta de Google Maps.

Son los argumentos que se pasarán a la herramienta de Google Maps.

Campos

queries array (string)  (opcional)

Consultas que se ejecutarán.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_maps_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

GoogleMapsResultContent

Contenido de los resultados de Google Maps

result GoogleMapsResult  (obligatorio)

Son los resultados de Google Maps.

Es el resultado de Google Maps.

Campos

lugares Lugares  (opcional)

Son los lugares que se encontraron.

Campos

place_id cadena  (opcional)

Es el ID del lugar, en formato `places/{place_id}`.

name string  (opcional)

Título del lugar.

url cadena  (opcional)

Es la referencia URI del lugar.

review_snippets ReviewSnippet  (opcional)

Son fragmentos de opiniones que se usan para generar respuestas sobre las características de un lugar determinado en Google Maps.

Encapsula un fragmento de una opinión del usuario que responde una pregunta sobre las características de un lugar específico en Google Maps.

Campos

title cadena  (opcional)

Es el título de la opinión.

url cadena  (opcional)

Es un vínculo que corresponde a la opinión del usuario en Google Maps.

review_id cadena  (opcional)

Es el ID del fragmento de opinión.

widget_context_token cadena  (opcional)

Es el nombre del recurso del token de contexto del widget de Google Maps.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_maps_result".

call_id cadena  (obligatorio)

Es el ID que debe coincidir con el ID del bloque de llamadas de Google Maps.

signature string  (opcional)

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

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": [
    {
      "type": "text",
      "text": "{\"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"
}

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"
}

Llamada de búsqueda de archivos

{
  "type": "file_search_call",
  "id": "call_123456"
}

Resultado de la búsqueda de archivos

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

Llamada de Google Maps

{
  "type": "google_maps_call",
  "id": "call_123456",
  "arguments": {
    "query": "best food near me"
  }
}

Resultado de Google Maps

{
  "type": "google_maps_result",
  "call_id": "call_123456",
  "result": [
    {
      "places": [
        {
          "url": "https://www.google.com/maps/search/best+food+near+me",
          "name": "Tasty Restaurant"
        }
      ]
    }
  ]
}

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.

search_types array (enum (string))  (opcional)

Son los tipos de fundamentación de la búsqueda que se habilitarán.

Valores posibles:

  • web_search
  • image_search
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.

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.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "computer_use".

McpServer

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

name string  (opcional)

Es el nombre del MCPServer.

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.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "mcp_server".

FileSearch

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

file_search_store_names array (cadena)  (opcional)

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".

GoogleMaps

Es una herramienta que el modelo puede usar para llamar a Google Maps.

enable_widget booleano  (opcional)

Indica si se debe devolver un token de contexto del widget en el resultado de la llamada a la herramienta de la respuesta.

latitude número  (opcional)

Es la latitud de la ubicación del usuario.

longitude número  (opcional)

Es la longitud de la ubicación del usuario.

type string  (opcional)

No se proporcionó la descripción.

Siempre se establece en "google_maps".

Ejemplos

Función

GoogleSearch

CodeExecution

UrlContext

ComputerUse

McpServer

FileSearch

GoogleMaps

Turn

Campos

role cadena  (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"
    }
  ]
}

Turno del modelo

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

InteractionSseEvent

Tipos posibles

Discriminador polimórfico: event_type

InteractionStartEvent

interaction Interaction  (obligatorio)

No se proporcionó la descripción.

event_type enum (cadena)  (obligatorio)

No se proporcionó la descripción.

Valores posibles:

  • interaction.start
event_id cadena  (opcional)

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

InteractionCompleteEvent

interaction Interaction  (obligatorio)

Es la interacción completada con resultados vacíos para reducir el tamaño de la carga útil. Usa los eventos ContentDelta anteriores para la salida real.

event_type enum (cadena)  (obligatorio)

No se proporcionó la descripción.

Valores posibles:

  • interaction.complete
event_id cadena  (opcional)

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

InteractionStatusUpdate

interaction_id cadena  (obligatorio)

No se proporcionó la descripción.

status enum (cadena)  (obligatorio)

No se proporcionó la descripción.

Valores posibles:

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
  • incomplete
event_type cadena  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "interaction.status_update".

event_id cadena  (opcional)

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

ContentStart

index número entero  (obligatorio)

No se proporcionó la descripción.

content Content  (obligatorio)

No se proporcionó la descripción.

event_type cadena  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "content.start".

event_id cadena  (opcional)

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

ContentDelta

index número entero  (obligatorio)

No se proporcionó la descripción.

delta object  (obligatorio)

No se proporcionó la descripción.

Tipos posibles

Discriminador polimórfico: type

TextDelta

text cadena  (obligatorio)

No se proporcionó la descripción.

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.

Tipos posibles

Discriminador polimórfico: type

UrlCitation

Es una anotación de cita de URL.

url cadena  (opcional)

Es la URL.

title cadena  (opcional)

Es el título de la URL.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

FileCitation

Es una anotación de cita de archivo.

document_uri cadena  (opcional)

Es el URI del archivo.

file_name cadena  (opcional)

Es el nombre del archivo.

source cadena  (opcional)

Es la fuente atribuida a una parte del texto.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

PlaceCitation

Es una anotación de cita de lugar.

place_id cadena  (opcional)

Es el ID del lugar, en formato `places/{place_id}`.

name string  (opcional)

Título del lugar.

url cadena  (opcional)

Es la referencia URI del lugar.

review_snippets ReviewSnippet  (opcional)

Son fragmentos de opiniones que se usan para generar respuestas sobre las características de un lugar determinado en Google Maps.

Encapsula un fragmento de una opinión del usuario que responde una pregunta sobre las características de un lugar específico en Google Maps.

Campos

title cadena  (opcional)

Es el título de la opinión.

url cadena  (opcional)

Es un vínculo que corresponde a la opinión del usuario en Google Maps.

review_id cadena  (opcional)

Es el ID del fragmento de opinión.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "place_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "text".

ImageDelta

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high
  • ultra_high

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "image".

AudioDelta

data cadena  (opcional)

No se proporcionó la descripción.

uri cadena  (opcional)

No se proporcionó la descripción.

mime_type enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac
type object  (obligatorio)

No se proporcionó la descripción.

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 enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • application/pdf
type object  (obligatorio)

No se proporcionó la descripción.

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 enum (cadena)  (opcional)

No se proporcionó la descripción.

Valores posibles:

  • video/mp4
  • video/mpeg
  • video/mpg
  • video/mov
  • video/avi
  • video/x-flv
  • video/webm
  • video/wmv
  • video/3gpp
resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high
  • ultra_high

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "video".

ThoughtSummaryDelta

content ThoughtSummaryContent  (opcional)

Es un nuevo elemento de resumen que se agregará al pensamiento.

Tipos posibles

Discriminador polimórfico: type

TextContent

Es un bloque de contenido de texto.

text cadena  (obligatorio)

Es el contenido de texto.

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.

Tipos posibles

Discriminador polimórfico: type

UrlCitation

Es una anotación de cita de URL.

url cadena  (opcional)

Es la URL.

title cadena  (opcional)

Es el título de la URL.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

FileCitation

Es una anotación de cita de archivo.

document_uri cadena  (opcional)

Es el URI del archivo.

file_name cadena  (opcional)

Es el nombre del archivo.

source cadena  (opcional)

Es la fuente atribuida a una parte del texto.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

PlaceCitation

Es una anotación de cita de lugar.

place_id cadena  (opcional)

Es el ID del lugar, en formato `places/{place_id}`.

name string  (opcional)

Título del lugar.

url cadena  (opcional)

Es la referencia URI del lugar.

review_snippets ReviewSnippet  (opcional)

Son fragmentos de opiniones que se usan para generar respuestas sobre las características de un lugar determinado en Google Maps.

Encapsula un fragmento de una opinión del usuario que responde una pregunta sobre las características de un lugar específico en Google Maps.

Campos

title cadena  (opcional)

Es el título de la opinión.

url cadena  (opcional)

Es un vínculo que corresponde a la opinión del usuario en Google Maps.

review_id cadena  (opcional)

Es el ID del fragmento de opinión.

type string  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "place_citation".

start_index integer  (opcional)

Es el inicio del segmento de la respuesta que se atribuye a esta fuente.

end_index integer  (opcional)

Es el final del segmento atribuido, exclusivo.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "text".

ImageContent

Es un bloque de contenido de imagen.

data cadena  (opcional)

Es el contenido de la imagen.

uri cadena  (opcional)

El URI de la imagen.

mime_type enum (cadena)  (opcional)

Es el tipo de MIME de la imagen.

Valores posibles:

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif
resolution MediaResolution  (opcional)

Resolución del contenido multimedia.

Valores posibles:

  • low
  • medium
  • high
  • ultra_high

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "image".

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "thought_summary".

ThoughtSignatureDelta

signature string  (opcional)

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

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "thought_signature".

FunctionCallDelta

name cadena  (obligatorio)

No se proporcionó la descripción.

arguments object  (obligatorio)

No se proporcionó la descripción.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "function_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

FunctionResultDelta

name string  (opcional)

No se proporcionó la descripción.

is_error boolean  (opcional)

No se proporcionó la descripción.

result objeto o cadena  (obligatorio)

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

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "function_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

CodeExecutionCallDelta

arguments CodeExecutionCallArguments  (obligatorio)

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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "code_execution_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

CodeExecutionResultDelta

result string  (obligatorio)

No se proporcionó la descripción.

is_error boolean  (opcional)

No se proporcionó la descripción.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "code_execution_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

UrlContextCallDelta

arguments UrlContextCallArguments  (obligatorio)

No se proporcionó la descripción.

Argumentos para pasar al contexto de la URL.

Campos

urls array (string)  (opcional)

URLs que se recuperarán.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_context_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

UrlContextResultDelta

result UrlContextResult  (obligatorio)

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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "url_context_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

GoogleSearchCallDelta

arguments GoogleSearchCallArguments  (obligatorio)

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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_search_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

GoogleSearchResultDelta

result GoogleSearchResult  (obligatorio)

No se proporcionó la descripción.

Es el resultado de la Búsqueda de Google.

Campos

search_suggestions 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 object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_search_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

McpServerToolCallDelta

name cadena  (obligatorio)

No se proporcionó la descripción.

server_name cadena  (obligatorio)

No se proporcionó la descripción.

arguments object  (obligatorio)

No se proporcionó la descripción.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "mcp_server_tool_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

McpServerToolResultDelta

name string  (opcional)

No se proporcionó la descripción.

server_name cadena  (opcional)

No se proporcionó la descripción.

result objeto o cadena  (obligatorio)

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

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "mcp_server_tool_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

FileSearchCallDelta

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_search_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

FileSearchResultDelta

result FileSearchResult  (opcional)

No se proporcionó la descripción.

Es el resultado de la búsqueda de archivos.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "file_search_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

GoogleMapsCallDelta

arguments GoogleMapsCallArguments  (opcional)

Son los argumentos que se pasarán a la herramienta de Google Maps.

Son los argumentos que se pasarán a la herramienta de Google Maps.

Campos

queries array (string)  (opcional)

Consultas que se ejecutarán.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_maps_call".

id cadena  (obligatorio)

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

signature string  (opcional)

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

GoogleMapsResultDelta

result GoogleMapsResult  (obligatorio)

Son los resultados de Google Maps.

Es el resultado de Google Maps.

Campos

lugares Lugares  (opcional)

Son los lugares que se encontraron.

Campos

place_id cadena  (opcional)

Es el ID del lugar, en formato `places/{place_id}`.

name string  (opcional)

Título del lugar.

url cadena  (opcional)

Es la referencia URI del lugar.

review_snippets ReviewSnippet  (opcional)

Son fragmentos de opiniones que se usan para generar respuestas sobre las características de un lugar determinado en Google Maps.

Encapsula un fragmento de una opinión del usuario que responde una pregunta sobre las características de un lugar específico en Google Maps.

Campos

title cadena  (opcional)

Es el título de la opinión.

url cadena  (opcional)

Es un vínculo que corresponde a la opinión del usuario en Google Maps.

review_id cadena  (opcional)

Es el ID del fragmento de opinión.

widget_context_token cadena  (opcional)

Es el nombre del recurso del token de contexto del widget de Google Maps.

type object  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "google_maps_result".

call_id cadena  (obligatorio)

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

signature string  (opcional)

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

event_type cadena  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "content.delta".

event_id cadena  (opcional)

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

ContentStop

index número entero  (obligatorio)

No se proporcionó la descripción.

event_type cadena  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "content.stop".

event_id cadena  (opcional)

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

ErrorEvent

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_type cadena  (obligatorio)

No se proporcionó la descripción.

Siempre se establece en "error".

event_id cadena  (opcional)

Es el token 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-3-flash-preview",
    "object": "interaction",
    "status": "in_progress"
  }
}

Interacción completa

{
  "event_type": "interaction.complete",
  "interaction": {
    "created": "2025-12-09T18:45:40Z",
    "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
    "model": "gemini-3-flash-preview",
    "object": "interaction",
    "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_thought_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"
  }
}