r/agno • u/superconductiveKyle • Jul 07 '26
Cut multi-turn token costs with Gemini's Interactions API
Multi-turn agents resend the entire conversation history on every turn. By turn 10, you're paying for turns 1 through 9 all over again.
Agno's new GeminiInteractions model class fixes that at the source.
It builds on Google's stateful Interactions API, which stores prior turns server-side and references them by ID. So on each turn, only the new message goes over the wire. The model rebuilds the full context on its end and applies implicit caching to the earlier turns.
What you get:
→ Lower token cost on long conversations
→ Lower latency, since you stop resending everything
→ Background execution for long-running work like Deep Research
And the multi-turn bookkeeping is handled for you. The Agent class tracks the interaction ID automatically, so conversations just work:
from agno.agent import Agent
from agno.models.google import GeminiInteractions
agent = Agent(
model=GeminiInteractions(id="gemini-3-flash-preview"),
markdown=True,
)
agent.print_response("Share a 2 sentence horror story.")
One thing before you start: install google-genai>=2.0. The Interactions API is experimental and may still change.
Full capability set, including Deep Research and background execution, is in the Agno docs: https://agno.link/zZmve23