Gemini Interactions API Google launched the Gemini Interactions API as a generally available interface for building with Gemini models and agents, offering server-side conversation state, lower costs, and support for frontier models and agentic applications. The API is now the recommended interface for new projects, while the legacy generateContent API remains supported. The Interactions API is our new interface and the most straightforward way to build with Gemini models and agents. As of June 2026, it is Generally Available and the recommended interface for all new projects. While it is now considered legacy, the original generateContent /gemini-api/docs/generate-content/text-generation API remains fully supported. Why use the Interactions API? New capabilities out of the box : Optional server-side conversation state using previous interaction id , observable execution steps for debugging and UI rendering, and background execution /gemini-api/docs/background-execution for long-running tasks using background=true . Lower cost with higher cache hit rates : Server-side state management enables more efficient context caching across turns, reducing token costs for multi-turn conversations. Built for frontier models and agents : Purpose-built for thinking models, multi-step tool use, and complex reasoning flows — simplifying the process of building, debugging, and orchestrating agentic applications. Single API for models and agents : One unified interface for calling Gemini models and agents directly such as Deep Research and custom managed agents — no separate endpoints or patterns to learn. Where new things launch : Going forward, new models and capabilities beyond the core mainline family, along with new agentic capabilities and tools, will launch on the Interactions API. By default, the Interactions API stores requests so you can leverage the server-side state management features by using previous interaction id . You can opt into stateless behavior by setting store=false . See the data retention data-storage-retention section for details. Get started Set up your coding agent : Connect to the Gemini Docs MCP and install the gemini-interactions-api skill to give your assistant direct access to the latest developer docs and best practices. Set up your coding agent → /gemini-api/docs/coding-agents Migrate from : If you have an existing integration, follow the generateContent Migration Guide /gemini-api/docs/migrate-to-interactions to transition to the Interactions API. Get started : Get started in the Interactions API Get started guide /gemini-api/docs/get-started . Feature Guides Explore the specific capabilities of the Interactions API through these guides. You can use the toggle on these pages to switch between generateContent and Interactions API: Text generation /gemini-api/docs/text-generation Image generation /gemini-api/docs/image-generation Image understanding /gemini-api/docs/image-understanding Audio understanding /gemini-api/docs/audio Video understanding /gemini-api/docs/video-understanding Document processing /gemini-api/docs/document-processing Function calling /gemini-api/docs/function-calling Structured output /gemini-api/docs/structured-output Deep Research Agent /gemini-api/docs/deep-research Flex inference /gemini-api/docs/flex-inference Priority inference /gemini-api/docs/priority-inference How the Interactions API works The Interactions API centers around a core resource: the . An Interaction Interaction represents a complete turn in a conversation or task. It acts as a session record, containing the entire history of an interaction as a chronological sequence of execution steps . These steps include model thoughts, server-side or client-side tool calls and results like function call and function result , and the final model output . The stored resource retrieved via interactions.get also includes user input steps for full context, though the interactions.create response only returns model-generated steps.When you make a call to interactions.create /api/interactions-api CreateInteraction , you are creating a new Interaction resource. Server-side state management You can use the id of a completed interaction in a subsequent call using the previous interaction id parameter to continue the conversation. The server uses this ID to retrieve the conversation history, saving you from having to resend the entire chat history. The previous interaction id parameter preserves only the conversation history inputs and outputs using previous interaction id . The other parameters are interaction-scoped and apply only to the specific interaction you are currently generating: tools system instruction generation config including thinking level , temperature , etc. This means you must re-specify these parameters in each new interaction if you want them to apply. This server-side state management is optional; you can also operate in stateless mode by sending the full conversation history in each request. Data storage and retention By default, the API stores all Interaction objects store=true in order to simplify use of server-side state management features with previous interaction id , background execution /gemini-api/docs/background-execution using background=true and observability purposes. Paid Tier : The system retains interactions for 55 days . Free Tier : The system retains interactions for 1 day . If you don't want this, you can set store=false in your request. This control is separate from state management; you can opt out of storage for any interaction. However, note that store=false is incompatible with background execution /gemini-api/docs/background-execution and prevents using previous interaction id for subsequent turns. You can delete stored interactions at any time using the delete method found in the API Reference /api/interactions-api . You can only delete interactions if you know the interaction ID. After the retention period expires, your data will be deleted automatically. The system processes Interaction objects according to the terms /gemini-api/terms . Best practices Cache hit rate : Using previous interaction id to continue conversations allows the system to more easily utilize implicit caching for the conversation history, which improves performance and reduces costs. Mixing interactions : You have the flexibility to mix and match Agent and Model interactions within a conversation. For example, you can use a specialized agent, like the Deep Research agent, for initial data collection, and then use a standard Gemini model for follow-up tasks such as summarizing or reformatting, linking these steps with the previous interaction id . Supported models & agents | Model Name | Type | Model ID | |---|---|---| | Gemini 3.5 Flash | Model | gemini-3.5-flash | | Gemini 3.1 Pro Preview | Model | gemini-3.1-pro-preview | | Gemini 3.1 Flash-Lite | Model | gemini-3.1-flash-lite | | Gemini 3 Flash Preview | Model | gemini-3-flash-preview | | Gemini 2.5 Pro | Model | gemini-2.5-pro | | Gemini 2.5 Flash | Model | gemini-2.5-flash | | Gemini 2.5 Flash-lite | Model | gemini-2.5-flash-lite | | Gemini 3 Pro Image | Model | gemini-3-pro-image | | Gemini 3.1 Flash Image | Model | gemini-3.1-flash-image | | Gemini 3.1 Flash TTS Preview | Model | gemini-3.1-flash-tts-preview | | Gemma 4 31B IT | Model | gemma-4-31b-it | | Gemma 4 26B MoE IT | Model | gemma-4-26b-a4b-it | | Lyria 3 Clip Preview | Model | lyria-3-clip-preview | | Lyria 3 Pro Preview | Model | lyria-3-pro-preview | | Deep Research Preview | Agent | deep-research-preview-04-2026 | | Deep Research Preview | Agent | deep-research-max-preview-04-2026 | | Antigravity Preview | Agent | antigravity-preview-05-2026 | SDKs You can use latest version of the Google GenAI SDKs in order to access Interactions API. - On Python, this is google-genai package from 2.3.0 version onwards. - On JavaScript, this is @google/genai package from 2.3.0 version onwards. You can learn more about how to install the SDKs on Libraries /gemini-api/docs/libraries page. Limitations Remote MCP : Gemini 3 does not support remote MCP, this is coming soon. The following features are supported by the generateContent /gemini-api/docs/generate-content/text-generation API but are not yet available in the Interactions API: : The Video metadata /gemini-api/docs/video-understanding video metadata field, used to set clipping intervals and custom frame rates for video understanding. Batch API /gemini-api/docs/batch-api Automatic function calling Python https://ai.google.dev/gemini-api/docs/function-calling?example=meeting automatic function calling python only : Note that server-side implicit caching is available in the Interactions API via Explicit caching /gemini-api/docs/caching previous interaction id . Feedback Your feedback is critical to the development of the Interactions API. Share your thoughts, report bugs, or request features on our Google AI Developer Community Forum https://discuss.ai.google.dev/c/gemini-api/4 . What's next - Try the Interactions API quickstart notebook https://colab.sandbox.google.com/github/google-gemini/cookbook/blob/main/quickstarts/Get started interactions api.ipynb . - Learn more about the Gemini Deep Research Agent /gemini-api/docs/deep-research .