Mirako Interactive

Mirako Interactive lets you put a lifelike AI avatar in front of your users for real-time, face-to-face conversation. You talk, the avatar listens, thinks, and answers back with voice and lip-synced video.

Interactive is built around Agents. An Agent is a persistent configuration that combines:

  • An avatar — how your character looks
  • A voice profile — how your character sounds
  • A brain — either instructions managed by Mirako, or your own agent endpoint

You define an Agent once, create a shareable route link for it, and the avatar is always there when someone opens the link. There is no session to start, warm up, or stop — visitors just open the page and start chatting.

Managed Agent vs Custom Agent

Every Agent is one of two runtime kinds:

Managed Agent (managed_agent) Custom Agent (custom_agent)
Who runs the LLM? Mirako You, at your own endpoint
You provide An instruction prompt, optional MCP tools An HTTPS endpoint URL (custom_agent_url)
Model selection Managed by Mirako, not configurable Entirely up to your endpoint
Best for Getting a talking avatar live in minutes Bringing an existing agent, RAG pipeline, or business logic

See Building a Custom Agent for the endpoint contract your server must implement.

Quick Start

You need a READY avatar and a voice profile first. If you don't have an avatar yet, start with Generate Avatar to create a portrait image, then follow Build Avatar to turn it into a READY avatar. For the voice, pick a premade voice (mirako voice premade) or one of your custom voices (mirako voice list).

1. Create an Agent

Run mirako agent create and the CLI will guide you through picking an avatar, a voice, and an instruction. Or pass everything as flags:

sh
mirako agent create \
    --name "Support Agent" \
    --avatar <MY_AVATAR_ID> \
    --voice <MY_VOICE_ID> \
    --instruction "You are a friendly support agent for our store. Answer product questions concisely."

Keep the agent ID from the output — you will use it in the next step.

Note: Prefer a file for longer prompts? Use --instruction-file ./instruction.md (.txt, .md, or .markdown) instead of --instruction.

2. Create a Route and Share It

A route is the public link to your Agent:

sh
mirako agent routes create <MY_AGENT_ID> --label "Website"

Share the resulting link with anyone:

https://interactive.mirako.ai/r/<ROUTE_ID>

That's it. Whoever opens the link can talk to your avatar right away — no account, no API key, and nothing for you to start or stop. Routes can be permanent or temporary, and you can revoke one at any time. See Agent Routes.

Note: A route link works like a password — anyone who has it can talk to your Agent, and conversation usage is billed to your account by duration. Share it only where you intend it to be used, and revoke it if it leaks.

How It Works

  1. You create an Agent (avatar + voice + brain) once, via the CLI, the API, or the developer portal.
  2. You create one or more routes for the Agent — for example, one permanent link for your website and one 24-hour link for a demo.
  3. A visitor opens https://interactive.mirako.ai/r/<ROUTE_ID> in a browser.
  4. The Interactive service resolves the route to your Agent, loads the avatar and voice, and connects the visitor. The first visit for an avatar may take a little longer while the avatar is prepared; after that, joining is fast.
  5. For voice and video conversations, Mirako sends a synthetic opening turn so the agent can greet the visitor before they speak. See Agent Greeting.
  6. The visitor chats with the avatar in real time. They can leave the page to end their connection, and the agent can also request an ending. End of Conversation covers the managed-agent tool and custom-agent protocol. A custom agent can also mark one response as non-interruptible so it plays in full; Response Protection covers that per-response control.

Updating your Agent — a new instruction, a different voice, a new avatar — takes effect for the next conversation on every existing route. You never need to re-share a link because you edited the Agent.

Going Next

Dive Deeper