Generating media
Short answer: Ask the AI in any chat and it can generate images, speech, music, and video (including image-to-image and image-to-video) through OpenRouter’s hosted media models. Generation always runs through OpenRouter and needs an OpenRouter API key, but it works no matter which provider the chat itself is on: a chat running on local Ollama or Ollama Cloud generates media too, as long as that key is configured.
What can the AI generate?
Each of the four media types is a tool the AI calls mid-conversation (generate_image, generate_speech, generate_music, generate_video), and each one is backed by a model you can configure per chat, separately from the model you’re chatting with. Find them under the Models & Search tab of Chat Configuration, as Image Generator, Speech Generator, Music Generator, and Video Generator rows. You don’t have to set any of them yourself; each one falls back to a low-cost default until you pick something else.
- Images: text-to-image, saved as PNG. For image-to-image, attach, drag, or sketch an image onto your message (or point at one already in the workspace) and describe the change; the AI edits, restyles, or varies it instead of starting from a blank prompt.
- Speech: text-to-speech. Each chat has a default voice; ask for a different one (“read that in a deeper voice”) and the AI passes it through as a one-off override.
- Music: a description (genre, mood, instruments, tempo, and optional lyrics) becomes a track. It’s the slowest of the four and best-effort: if nothing comes back, ask again rather than expecting an automatic retry.
- Video: text-to-video, and image-to-video: pass a starting image and the AI animates from it. Generation is asynchronous: the tool call returns immediately and the finished clip appears in the chat as a placeholder that turns into a player, usually within a few minutes. Only one video renders at a time app-wide; you can cancel from the bubble itself or from the Activity bar, and an in-progress job survives an app restart or a workspace switch.
Studio mode owns media generation by default, but any mode can reach for it mid-turn; you don’t need to switch modes just to ask for an image.
How do I generate media?
- Just ask: media generation works out of the box with a low-cost default model for each type. To pick a specific model instead, open Chat Configuration → Models & Search and set the Image / Speech / Music / Video Generator row you want to change.
- Ask for what you want in plain language: “generate a picture of a lighthouse at sunset,” “turn this into a 9:16 vertical video,” “make a 30-second lo-fi track.” The AI calls the matching tool and the result renders inline in the chat.
- For image-to-image or image-to-video, attach or drag the source image onto your message first (or name a file already in the workspace), then describe the change.
- If tool approval is set to ask first, confirm the call; media generation shows the same plain-language approval banner as any other tool call.
Good to know
- The chat’s own provider doesn’t matter. What these tools need is an OpenRouter API key, not an OpenRouter chat model. Configure the key once and a local Ollama or Ollama Cloud chat generates images, speech, music, and video exactly like an OpenRouter chat does; the request routes to OpenRouter while your conversation stays on the model you picked. With no OpenRouter key configured, the generation tools don’t appear in any chat.
- Agents and workflows can generate image, speech, and music too. Headless runs are held to a per-run and a per-day budget cap (default 50 generations/day, in Settings), because unattended generation spends real money on your OpenRouter key. Video generation is chat-only.
- Generated files save automatically into the workspace’s
BuildPerchfolder (images toimages/, speech and music toaudio/, video tovideo/) and show up immediately in the matching gallery view. See Galleries & saving media. - Privacy Mode covers media generation the same way it covers chat: when it’s on, every media request also carries the zero-data-retention flag.
- Media generation always needs an OpenRouter key, because OpenRouter is where the media models run. Editing media you already have (trimming, captioning, cleaning up audio) runs locally instead; see Local media editing.