A API Gemini Interactions é uma API experimental que permite aos desenvolvedores criar aplicativos de IA generativa usando modelos do Gemini. O Gemini é nosso modelo mais avançado, criado desde o início para ser multimodal. Ele pode generalizar, entender, operar e combinar diferentes tipos de informações, incluindo idiomas, imagens, áudio, vídeo e código. Você pode usar a API Gemini para casos de uso como raciocínio em textos e imagens, geração de conteúdo, agentes de diálogo, sistemas de resumo e classificação e muito mais.
Criar uma interação
Cria uma nova interação.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
model ModelOption (opcional)
O nome do "Model" usado para gerar a interação.
Obrigatório se "agent" não for fornecido.
Valores possíveis:
-
gemini-2.5-proNosso modelo multifuncional de última geração, que se destaca em programação e tarefas de raciocínio complexas.
-
gemini-2.5-flashNosso primeiro modelo de raciocínio híbrido que oferece suporte a uma janela de contexto de 1 milhão de tokens e tem orçamentos de pensamento.
-
gemini-2.5-flash-preview-09-2025O modelo mais recente baseado no modelo 2.5 Flash. O pré-lançamento do 2.5 Flash é ideal para processamento em grande escala, baixa latência, tarefas de alto volume que exigem pensamento e casos de uso de agentes.
-
gemini-2.5-flash-liteNosso modelo menor e mais econômico, criado para uso em grande escala.
-
gemini-2.5-flash-lite-preview-09-2025O modelo mais recente baseado no Gemini 2.5 Flash lite otimizado para custo-benefício, alta taxa de transferência e alta qualidade.
-
gemini-2.5-flash-preview-native-audio-dialogNossos modelos de áudio nativos são otimizados para saídas de áudio de maior qualidade, com melhor ritmo, naturalidade da voz, nível de detalhes e humor.
-
gemini-2.5-flash-image-previewNosso modelo nativo de geração de imagens, otimizado para velocidade, flexibilidade e compreensão contextual. A entrada e a saída de texto têm o mesmo preço do 2.5 Flash.
-
gemini-2.5-pro-preview-ttsNosso modelo de áudio Text-to-Speech 2.5 Pro otimizado para geração de fala potente e de baixa latência, com saídas mais naturais e comandos mais fáceis de direcionar.
-
gemini-3-pro-previewNosso modelo mais inteligente com raciocínio e compreensão multimodal de última geração, além de recursos avançados de programação assistida por IA e vibe coding.
agent AgentOption (opcional)
O nome do "Agente" usado para gerar a interação.
Obrigatório se "model" não for fornecido.
Valores possíveis:
-
deep-research-pro-preview-12-2025Agente de Deep Research do Gemini
As entradas para a interação (comum ao modelo e ao agente).
Instrução do sistema para a interação.
Uma lista de declarações de ferramentas que o modelo pode chamar durante a interação.
Força que a resposta gerada seja um objeto JSON que esteja em conformidade com o esquema JSON especificado neste campo.
O tipo MIME da resposta. Obrigatório se "response_format" estiver definido.
Somente entrada. Se a interação será transmitida por streaming.
Somente entrada. Se a resposta e a solicitação serão armazenadas para recuperação posterior.
Se a interação do modelo será executada em segundo plano.
generation_config GenerationConfig (opcional)
Configuração do modelo
: parâmetros de configuração para a interação do modelo.
Alternativa a "agent_config". Só é aplicável quando "model" está definido.
Campos
Controla a aleatoriedade da saída.
A probabilidade cumulativa máxima de tokens a serem considerados na amostragem.
Seed usada na decodificação para reprodutibilidade.
Uma lista de sequências de caracteres que vão interromper a interação de saída.
tool_choice ToolChoice (opcional)
A escolha da ferramenta para a interação.
Tipos possíveis
ToolChoiceType
Esse tipo não tem campos específicos.
ToolChoiceConfig
allowed_tools AllowedTools (opcional)
Nenhuma descrição informada.
Campos
mode ToolChoiceType (opcional)
O modo da escolha de ferramenta.
Valores possíveis:
-
auto -
any -
none -
validated
Os nomes das ferramentas permitidas.
thinking_level ThinkingLevel (opcional)
O nível de tokens de pensamento que o modelo deve gerar.
Valores possíveis:
-
low -
high
thinking_summaries ThinkingSummaries (opcional)
Define se os resumos de pensamento serão incluídos na resposta.
Valores possíveis:
-
auto -
none
O número máximo de tokens a serem incluídos na resposta.
speech_config SpeechConfig (opcional)
Configuração para interação de fala.
Campos
A voz do alto-falante.
O idioma da fala.
O nome do falante precisa corresponder ao nome informado no comando.
agent_config object (optional)
Configuração do agente
Configuração do agente.
Alternativa a "generation_config". Só é aplicável quando "agent" está definido.
Tipos possíveis
Discriminador polimórfico: type
DynamicAgentConfig
Configuração para agentes dinâmicos.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "dynamic".
DeepResearchAgentConfig
Configuração do agente Deep Research.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "deep-research".
thinking_summaries ThinkingSummaries (opcional)
Define se os resumos de pensamento serão incluídos na resposta.
Valores possíveis:
-
auto -
none
O ID da interação anterior, se houver.
response_modalities ResponseModality (opcional)
As modalidades solicitadas da resposta (TEXT, IMAGE, AUDIO).
Valores possíveis:
-
text -
image -
audio
Resposta
Retorna um recurso Interaction.
Solicitação simples
Exemplo de resposta
{ "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 } }
Várias interações
Exemplo de resposta
{ "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 imagem
Exemplo de resposta
{ "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 } }
Chamada de função
Exemplo de resposta
{ "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
Exemplo de resposta
{ "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 } }
Como recuperar uma interação
Recupera todos os detalhes de uma única interação com base no `Interaction.id`.
Parâmetros de caminho / consulta
O identificador exclusivo da interação a ser recuperada.
Se definido como verdadeiro, o conteúdo gerado será transmitido de forma incremental.
Padrão: False
Opcional. Se definido, retoma o fluxo de interação do próximo bloco após o evento marcado pelo ID do evento. Só pode ser usado se "stream" for verdadeiro.
Qual versão da API usar.
Resposta
Retorna um recurso Interaction.
Acessar interação
Exemplo de resposta
{ "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?" } ] }
Excluir uma interação
Exclui a interação por ID.
Parâmetros de caminho / consulta
O identificador exclusivo da interação a ser excluída.
Qual versão da API usar.
Resposta
Se a solicitação for concluída, a resposta estará vazia.
Excluir interação
Como cancelar uma interação
Cancela uma interação por ID. Isso só se aplica a interações em segundo plano que ainda estão em execução.
Parâmetros de caminho / consulta
O identificador exclusivo da interação a ser recuperada.
Qual versão da API usar.
Resposta
Retorna um recurso Interaction.
Cancelar interação
Exemplo de resposta
{ "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
Interação
O recurso "Interaction".
Campos
model ModelOption (opcional)
O nome do "Model" usado para gerar a interação.
Valores possíveis:
-
gemini-2.5-proNosso modelo multifuncional de última geração, que se destaca em programação e tarefas de raciocínio complexas.
-
gemini-2.5-flashNosso primeiro modelo de raciocínio híbrido que oferece suporte a uma janela de contexto de 1 milhão de tokens e tem orçamentos de pensamento.
-
gemini-2.5-flash-preview-09-2025O modelo mais recente baseado no modelo 2.5 Flash. O pré-lançamento do 2.5 Flash é ideal para processamento em grande escala, baixa latência, tarefas de alto volume que exigem pensamento e casos de uso de agentes.
-
gemini-2.5-flash-liteNosso modelo menor e mais econômico, criado para uso em grande escala.
-
gemini-2.5-flash-lite-preview-09-2025O modelo mais recente baseado no Gemini 2.5 Flash lite otimizado para custo-benefício, alta taxa de transferência e alta qualidade.
-
gemini-2.5-flash-preview-native-audio-dialogNossos modelos de áudio nativos são otimizados para saídas de áudio de maior qualidade, com melhor ritmo, naturalidade da voz, nível de detalhes e humor.
-
gemini-2.5-flash-image-previewNosso modelo nativo de geração de imagens, otimizado para velocidade, flexibilidade e compreensão contextual. A entrada e a saída de texto têm o mesmo preço do 2.5 Flash.
-
gemini-2.5-pro-preview-ttsNosso modelo de áudio Text-to-Speech 2.5 Pro otimizado para geração de fala potente e de baixa latência, com saídas mais naturais e comandos mais fáceis de direcionar.
-
gemini-3-pro-previewNosso modelo mais inteligente com raciocínio e compreensão multimodal de última geração, além de recursos avançados de programação assistida por IA e vibe coding.
agent AgentOption (opcional)
O nome do "Agente" usado para gerar a interação.
Valores possíveis:
-
deep-research-pro-preview-12-2025Agente de Deep Research do Gemini
Apenas saída. Um identificador exclusivo para a conclusão da interação.
Apenas saída. O status da interação.
Valores possíveis:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Apenas saída. O horário em que a resposta foi criada no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).
Apenas saída. A hora em que a resposta foi atualizada pela última vez no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).
Apenas saída. A função da interação.
Apenas saída. Respostas do modelo.
Apenas saída. O tipo de objeto da interação. Sempre definido como "interaction".
Sempre defina como "interaction".
usage Usage (opcional)
Apenas saída. Estatísticas sobre o uso de tokens da solicitação de interação.
Campos
Número de tokens no comando (contexto).
input_tokens_by_modality ModalityTokens (opcional)
Um detalhamento do uso de tokens de entrada por modalidade.
Campos
modalidade ResponseModality (opcional)
A modalidade associada à contagem de tokens.
Valores possíveis:
-
text -
image -
audio
Número de tokens para a modalidade.
Número de tokens na parte em cache do comando (o conteúdo em cache).
cached_tokens_by_modality ModalityTokens (opcional)
Um detalhamento do uso de tokens armazenados em cache por modalidade.
Campos
modalidade ResponseModality (opcional)
A modalidade associada à contagem de tokens.
Valores possíveis:
-
text -
image -
audio
Número de tokens para a modalidade.
Número total de tokens em todas as respostas geradas.
output_tokens_by_modality ModalityTokens (opcional)
Uma análise do uso de tokens de saída por modalidade.
Campos
modalidade ResponseModality (opcional)
A modalidade associada à contagem de tokens.
Valores possíveis:
-
text -
image -
audio
Número de tokens para a modalidade.
Número de tokens presentes nos comandos de uso da ferramenta.
tool_use_tokens_by_modality ModalityTokens (opcional)
Um detalhamento do uso de tokens de uso de ferramentas por modalidade.
Campos
modalidade ResponseModality (opcional)
A modalidade associada à contagem de tokens.
Valores possíveis:
-
text -
image -
audio
Número de tokens para a modalidade.
Número de tokens de ideias para modelos de pensamento.
Contagem total de tokens para a solicitação de interação (comando + respostas + outros tokens internos).
O ID da interação anterior, se houver.
Exemplos
Exemplo
{ "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 dados
Conteúdo
O conteúdo da resposta.
Tipos possíveis
Discriminador polimórfico: type
TextContent
Um bloco de conteúdo de texto.
O conteúdo do texto.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "text".
annotations Annotation (opcional)
Informações de citação para conteúdo gerado por modelos.
Campos
Início do segmento da resposta atribuído a esta fonte. O índice indica o início do segmento, medido em bytes.
Fim do segmento atribuído, exclusivo.
Origem atribuída a uma parte do texto. Pode ser um URL, um título ou outro identificador.
ImageContent
Um bloco de conteúdo de imagem.
Nenhuma descrição informada.
Nenhuma descrição informada.
mime_type ImageMimeTypeOption (opcional)
Nenhuma descrição informada.
Valores possíveis:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "image".
resolution MediaResolution (opcional)
A resolução da mídia.
Valores possíveis:
-
low -
medium -
high
AudioContent
Um bloco de conteúdo de áudio.
Nenhuma descrição informada.
Nenhuma descrição informada.
mime_type AudioMimeTypeOption (opcional)
Nenhuma descrição informada.
Valores possíveis:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "audio".
DocumentContent
Um bloco de conteúdo de documento.
Nenhuma descrição informada.
Nenhuma descrição informada.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "document".
VideoContent
Um bloco de conteúdo em vídeo.
Nenhuma descrição informada.
Nenhuma descrição informada.
mime_type VideoMimeTypeOption (opcional)
Nenhuma descrição informada.
Valores possíveis:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "video".
resolution MediaResolution (opcional)
A resolução da mídia.
Valores possíveis:
-
low -
medium -
high
ThoughtContent
Um bloco de conteúdo de pensamento.
Assinatura para corresponder à origem do back-end que fará parte da geração.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "thought".
summary ThoughtSummary (opcional)
Um resumo do pensamento.
FunctionCallContent
Um bloco de conteúdo de chamada de ferramenta de função.
O nome da ferramenta a ser chamada.
Os argumentos a serem transmitidos para a função.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "function_call".
Um ID exclusivo para essa chamada de função específica.
FunctionResultContent
Um bloco de conteúdo de resultado da ferramenta de função.
O nome da ferramenta que foi chamada.
Se a chamada de função resultou em um erro.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "function_result".
O resultado da chamada de função.
ID para corresponder ao ID do bloco de chamada de função.
CodeExecutionCallContent
Conteúdo de execução de código.
arguments CodeExecutionCallArguments (opcional)
Os argumentos a serem transmitidos para a execução do código.
Campos
Linguagem de programação do "code".
Valores possíveis:
-
python
O código a ser executado.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "code_execution_call".
Um ID exclusivo para essa chamada de função específica.
CodeExecutionResultContent
Conteúdo do resultado da execução do código.
A saída da execução do código.
Se a execução do código resultou em um erro.
Um hash de assinatura para validação de back-end.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "code_execution_result".
ID para corresponder ao ID do bloco de chamada de execução de código.
UrlContextCallContent
Conteúdo do contexto do URL.
arguments UrlContextCallArguments (opcional)
Os argumentos a serem transmitidos para o contexto do URL.
Campos
Os URLs a serem buscados.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "url_context_call".
Um ID exclusivo para essa chamada de função específica.
UrlContextResultContent
Conteúdo do resultado do contexto do URL.
A assinatura do resultado do contexto do URL.
result UrlContextResult (opcional)
Os resultados do contexto do URL.
Campos
O URL buscado.
O status da recuperação do URL.
Valores possíveis:
-
success -
error -
paywall -
unsafe
Indica se o contexto do URL resultou em um erro.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "url_context_result".
ID para corresponder ao ID do bloco de chamada de contexto do URL.
GoogleSearchCallContent
Conteúdo da Pesquisa Google.
argumentos GoogleSearchCallArguments (opcional)
Os argumentos a serem transmitidos para a Pesquisa Google.
Campos
Consultas de pesquisa na Web para a pesquisa na Web de acompanhamento.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "google_search_call".
Um ID exclusivo para essa chamada de função específica.
GoogleSearchResultContent
Conteúdo dos resultados da Pesquisa Google.
A assinatura do resultado da Pesquisa Google.
result GoogleSearchResult (opcional)
Os resultados da Pesquisa Google.
Campos
Referência de URI do resultado da pesquisa.
Título do resultado da pesquisa.
Snippet de conteúdo da Web que pode ser incorporado a uma página da Web ou a uma WebView de app.
Se a Pesquisa Google resultou em um erro.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "google_search_result".
ID para corresponder ao ID do bloqueio de chamadas da Pesquisa Google.
McpServerToolCallContent
Conteúdo da chamada de ferramenta MCPServer.
O nome da ferramenta que foi chamada.
O nome do servidor MCP usado.
O objeto JSON de argumentos para a função.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "mcp_server_tool_call".
Um ID exclusivo para essa chamada de função específica.
McpServerToolResultContent
Conteúdo do resultado da ferramenta MCPServer.
Nome da ferramenta chamada para essa chamada de ferramenta específica.
O nome do servidor MCP usado.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "mcp_server_tool_result".
O resultado da chamada de função.
ID para corresponder ao ID do bloco de chamada de ferramenta do servidor MCP.
FileSearchResultContent
Conteúdo dos resultados da Pesquisa de arquivos.
result FileSearchResult (opcional)
Os resultados da pesquisa de arquivos.
Campos
O título do resultado da pesquisa.
O texto do resultado da pesquisa.
O nome do repositório de pesquisa de arquivos.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "file_search_result".
Exemplos
Texto
{ "type": "text", "text": "Hello, how are you?" }
Imagem
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
Áudio
{ "type": "audio", "data": "BASE64_ENCODED_AUDIO", "mime_type": "audio/wav" }
Documento
{ "type": "document", "data": "BASE64_ENCODED_DOCUMENT", "mime_type": "application/pdf" }
Vídeo
{ "type": "video", "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg" }
Raciocínio
{ "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" }
Chamada de função
{ "type": "function_call", "name": "get_weather", "id": "gth23981", "arguments": { "location": "Boston, MA" } }
Resultado da função
{ "type": "function_result", "name": "get_weather", "call_id": "gth23981", "result": { "weather": "sunny" } }
Chamada de execução de código
{ "type": "code_execution_call", "id": "call_123456", "arguments": { "language": "python", "code": "print('hello world')" } }
Resultado da execução do código
{ "type": "code_execution_result", "call_id": "call_123456", "result": "hello world\n" }
Chamada de contexto de URL
{ "type": "url_context_call", "id": "call_123456", "arguments": { "urls": [ "https://www.example.com" ] } }
Url Context Result
{ "type": "url_context_result", "call_id": "call_123456", "result": [ { "url": "https://www.example.com", "status": "SUCCESS" } ] }
Chamada da Pesquisa Google
{ "type": "google_search_call", "id": "call_123456", "arguments": { "queries": [ "weather in Boston" ] } }
Resultado da Pesquisa Google
{ "type": "google_search_result", "call_id": "call_123456", "result": [ { "url": "https://www.google.com/search?q=weather+in+Boston", "title": "Weather in Boston" } ] }
Chamada de ferramenta do servidor MCP
{ "type": "mcp_server_tool_call", "id": "call_123456", "name": "get_forecast", "server_name": "weather_server", "arguments": { "city": "London" } }
Mcp Server Tool Result
{ "type": "mcp_server_tool_result", "name": "get_forecast", "server_name": "weather_server", "call_id": "call_123456", "result": "sunny" }
Resultado da pesquisa de arquivos
{ "type": "file_search_result", "result": [ { "text": "search result chunk", "file_search_store": "file_search_store" } ] }
Ferramenta
Tipos possíveis
Discriminador polimórfico: type
Função
Uma ferramenta que pode ser usada pelo modelo.
O nome da função.
Uma descrição da função.
O esquema JSON para os parâmetros da função.
Nenhuma descrição informada.
Sempre defina como "function".
GoogleSearch
Uma ferramenta que pode ser usada pelo modelo para pesquisar no Google.
Nenhuma descrição informada.
Sempre defina como "google_search".
CodeExecution
Uma ferramenta que pode ser usada pelo modelo para executar código.
Nenhuma descrição informada.
Sempre defina como "code_execution".
UrlContext
Uma ferramenta que pode ser usada pelo modelo para buscar o contexto do URL.
Nenhuma descrição informada.
Sempre defina como "url_context".
ComputerUse
Uma ferramenta que pode ser usada pelo modelo para interagir com o computador.
Nenhuma descrição informada.
Sempre defina como "computer_use".
O ambiente em operação.
Valores possíveis:
-
browser
A lista de funções predefinidas que são excluídas da chamada de modelo.
McpServer
Um MCPServer é um servidor que pode ser chamado pelo modelo para realizar ações.
Nenhuma descrição informada.
Sempre defina como "mcp_server".
O nome do MCPServer.
O URL completo do endpoint MCPServer. Exemplo: "https://api.example.com/mcp"
Opcional: campos para cabeçalhos de autenticação, tempos limite etc., se necessário.
allowed_tools AllowedTools (opcional)
As ferramentas permitidas.
Campos
mode ToolChoiceType (opcional)
O modo da escolha de ferramenta.
Valores possíveis:
-
auto -
any -
none -
validated
Os nomes das ferramentas permitidas.
FileSearch
Uma ferramenta que pode ser usada pelo modelo para pesquisar arquivos.
Os nomes das lojas de pesquisa de arquivos a serem pesquisados.
O número de partes da recuperação semântica a serem recuperadas.
Filtro de metadados a ser aplicado aos documentos e partes da recuperação semântica.
Nenhuma descrição informada.
Sempre defina como "file_search".
Exemplos
Função
GoogleSearch
CodeExecution
UrlContext
ComputerUse
McpServer
FileSearch
CANNOT TRANSLATE
Campos
O criador desta rodada. Precisa ser "user" para entrada ou "model" para saída do modelo.
O conteúdo da vez.
Exemplos
Turno do usuário
{ "role": "user", "content": [ { "type": "text", "text": "user turn" } ] }
Turno do modelo
{ "role": "model", "content": [ { "type": "text", "text": "model turn" } ] }
InteractionSseEvent
Tipos possíveis
Discriminador polimórfico: event_type
InteractionEvent
Nenhuma descrição informada.
Valores possíveis:
-
interaction.start -
interaction.complete
Nenhuma descrição informada.
O token event_id a ser usado para retomar o fluxo de interação, a partir deste evento.
InteractionStatusUpdate
Nenhuma descrição informada.
Nenhuma descrição informada.
Valores possíveis:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Nenhuma descrição informada.
Sempre defina como "interaction.status_update".
O token event_id a ser usado para retomar o fluxo de interação, a partir deste evento.
ContentStart
Nenhuma descrição informada.
Nenhuma descrição informada.
Nenhuma descrição informada.
Sempre defina como "content.start".
O token event_id a ser usado para retomar o fluxo de interação, a partir deste evento.
ContentDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
Sempre defina como "content.delta".
O token event_id a ser usado para retomar o fluxo de interação, a partir deste evento.
delta object (opcional)
Nenhuma descrição informada.
Tipos possíveis
Discriminador polimórfico: type
TextDelta
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "text".
annotations Annotation (opcional)
Informações de citação para conteúdo gerado por modelos.
Campos
Início do segmento da resposta atribuído a esta fonte. O índice indica o início do segmento, medido em bytes.
Fim do segmento atribuído, exclusivo.
Fonte atribuída a uma parte do texto. Pode ser um URL, um título ou outro identificador.
ImageDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
mime_type ImageMimeTypeOption (opcional)
Nenhuma descrição informada.
Valores possíveis:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "image".
resolution MediaResolution (opcional)
A resolução da mídia.
Valores possíveis:
-
low -
medium -
high
AudioDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
mime_type AudioMimeTypeOption (opcional)
Nenhuma descrição informada.
Valores possíveis:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "audio".
DocumentDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "document".
VideoDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
mime_type VideoMimeTypeOption (opcional)
Nenhuma descrição informada.
Valores possíveis:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "video".
resolution MediaResolution (opcional)
A resolução da mídia.
Valores possíveis:
-
low -
medium -
high
ThoughtSummaryDelta
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "thought_summary".
Nenhuma descrição informada.
ThoughtSignatureDelta
Assinatura para corresponder à origem do back-end que fará parte da geração.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "thought_signature".
FunctionCallDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "function_call".
Um ID exclusivo para essa chamada de função específica.
FunctionResultDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "function_result".
Delta do resultado da chamada de ferramenta.
ID para corresponder ao ID do bloco de chamada de função.
CodeExecutionCallDelta
arguments CodeExecutionCallArguments (opcional)
Nenhuma descrição informada.
Campos
Linguagem de programação do "code".
Valores possíveis:
-
python
O código a ser executado.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "code_execution_call".
Um ID exclusivo para essa chamada de função específica.
CodeExecutionResultDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "code_execution_result".
ID para corresponder ao ID do bloco de chamada de função.
UrlContextCallDelta
arguments UrlContextCallArguments (opcional)
Nenhuma descrição informada.
Campos
Os URLs a serem buscados.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "url_context_call".
Um ID exclusivo para essa chamada de função específica.
UrlContextResultDelta
Nenhuma descrição informada.
result UrlContextResult (opcional)
Nenhuma descrição informada.
Campos
O URL buscado.
O status da recuperação do URL.
Valores possíveis:
-
success -
error -
paywall -
unsafe
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "url_context_result".
ID para corresponder ao ID do bloco de chamada de função.
GoogleSearchCallDelta
argumentos GoogleSearchCallArguments (opcional)
Nenhuma descrição informada.
Campos
Consultas de pesquisa na Web para a pesquisa na Web de acompanhamento.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "google_search_call".
Um ID exclusivo para essa chamada de função específica.
GoogleSearchResultDelta
Nenhuma descrição informada.
result GoogleSearchResult (opcional)
Nenhuma descrição informada.
Campos
Referência de URI do resultado da pesquisa.
Título do resultado da pesquisa.
Snippet de conteúdo da Web que pode ser incorporado a uma página da Web ou a uma WebView de app.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "google_search_result".
ID para corresponder ao ID do bloco de chamada de função.
McpServerToolCallDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "mcp_server_tool_call".
Um ID exclusivo para essa chamada de função específica.
McpServerToolResultDelta
Nenhuma descrição informada.
Nenhuma descrição informada.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "mcp_server_tool_result".
Delta do resultado da chamada de ferramenta.
ID para corresponder ao ID do bloco de chamada de função.
FileSearchResultDelta
result FileSearchResult (opcional)
Nenhuma descrição informada.
Campos
O título do resultado da pesquisa.
O texto do resultado da pesquisa.
O nome do repositório de pesquisa de arquivos.
Usado como o discriminador de tipo OpenAPI para o conteúdo oneof.
Sempre defina como "file_search_result".
ContentStop
Nenhuma descrição informada.
Nenhuma descrição informada.
Sempre defina como "content.stop".
O token event_id a ser usado para retomar o fluxo de interação, a partir deste evento.
ErrorEvent
Nenhuma descrição informada.
Sempre defina como "error".
error Error (opcional)
Nenhuma descrição informada.
Campos
Uma URI que identifica o tipo de erro.
Uma mensagem de erro legível.
O token event_id a ser usado para retomar o fluxo de interação, a partir deste evento.
Exemplos
Início da interação
{ "event_type": "interaction.start", "interaction": { "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "status": "in_progress" } }
Interação concluída
{ "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 } } }
Atualização do status da interação
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
Início do conteúdo
{ "event_type": "content.start", "content": { "type": "text" }, "index": 1 }
Delta de conteúdo
{ "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 }
Parada de conteúdo
{ "event_type": "content.stop", "index": 1 }
Evento de erro
{ "event_type": "error", "error": { "message": "Failed to get completed interaction: Result not found.", "code": "not_found" } }