Generate images & videoinyour agent with
TuttiFrutti
Things to ask with
TuttiFrutti
Tools your agent gets

List models
Every model that can run right now, for images, video, speech or music. Your agent picks one from here.
list_modelsread- Arguments
- kind?
- Returns
- { models }

Read one model
The model's prompt rules, media slots and controls, so the agent can fill in a draft that will pass.
get_modelread- Arguments
- modelId
- Returns
- { model }

Price a draft
The exact price before anything runs, and whether your balance covers it. Nothing is queued.
quoteread- Arguments
- modelId, prompt?, values?, inputs?, count?
- Returns
- the quote

Start a generationCredits
Queues the work through the same path as the studio. Same prices, same limits, same results.
generategenerate- Arguments
- modelId, prompt?, values?, inputs?, count?
- Returns
- { generations }

Check a generation
Its status, and the finished files once it has succeeded. The agent polls this after generate.
get_generationread- Arguments
- id
- Returns
- { generation }

List generations
Recent work from the studio, the API and agents alike, newest first, up to 50 at a time.
list_generationsread- Arguments
- status?, kind?, limit?, before?
- Returns
- { generations }

List files
Your generated files and uploads, so the agent can reuse one as a reference.
list_filesread- Arguments
- kind?, source?, limit?, before?
- Returns
- { files }

Check the balance
Credits left and the plan, so the agent can stop before it runs out.
get_balanceread- Arguments
- none
- Returns
- { balance, credits, plan }
Connect in two steps
Create an API key
Keys live in the developer console. Give the key both scopes so your agent can start work and read the results.
Open the console- Streamable HTTP with JSON-RPC 2.0. One JSON answer per request, no sessions, no event stream.
- Protocol revisions 2026-07-28, 2025-11-25, 2025-06-18 and 2025-03-26.
- Each key may make 120 requests a minute. Every call shows up in your usage log.
Add the server to your client
For desktop assistants and editors that read an MCP server list.
/api/mcpAuthorization: Bearer YOUR_KEY{
"mcpServers": {
"tuttifrutti": {
"type": "http",
"url": "/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}