AI Talking Avatar Generator
An AI talking-head video generator: turn a text script — and an optional presenter photo — into a lip-synced talking-avatar video that reads your exact words to camera, in the language you choose. No camera, talent, or editing — a finished clip ready for ads, explainers, or social.
~$1.10 per clip·Run it free in the playground, then call it from your app.
No inputs handy? Try one of these
For developers
Run it from your own stack.
This skill is an API. One call runs the whole pipeline server-side as a long-running job and returns the result — from Python, plain HTTP, or an MCP-connected coding agent.
API access — MCP · Python SDK · cURL · JSON schemas
claude mcp add --transport http puras https://mcp.puras.co/mcpOAuth on first call — no key to paste. Then ask the agent to run talking-avatar from skill puras/avatar-studio.
pip install puras
puras login # or set PURAS_API_KEY
puras run puras/avatar-studio/talking-avatar -i key=valueimport puras
client = puras.Client() # PURAS_API_KEY from env
result = client.run("puras/avatar-studio/talking-avatar", {"voice":"auto","script":"Big news — we just shipped dark mode. Open Settings, tap Appearance, and pick Dark. Your eyes will thank you tonight.\n","avatar_image":"https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/talking-avatar/dark-mode-presenter.jpg"})curl -X POST "https://api.puras.co/v1/jobs?skillpack=puras/avatar-studio&wait=true" \
-H "Authorization: Bearer $PURAS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"skill":"talking-avatar","inputs":{"voice":"auto","script":"Big news — we just shipped dark mode. Open Settings, tap Appearance, and pick Dark. Your eyes will thank you tonight.\n","avatar_image":"https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/talking-avatar/dark-mode-presenter.jpg"}}'Input schema (JSON Schema)
{
"type": "object",
"required": [
"script"
],
"properties": {
"look": {
"type": "text",
"maxLength": 400,
"description": "Optional steer for the generated presenter and setting. Ignored with avatar_image."
},
"voice": {
"enum": [
"auto",
"warm_female",
"warm_male",
"energetic_female",
"energetic_male",
"calm_narrator",
"authoritative_male"
],
"type": "string",
"default": "auto",
"description": "Voice persona. `auto` fits it to the script."
},
"script": {
"type": "text",
"maxLength": 1000,
"minLength": 2,
"description": "The exact words spoken, verbatim. Plain prose, no SSML."
},
"language": {
"type": "string",
"maxLength": 12,
"description": "Optional language code (e.g. \"en\", \"tr\"). Empty = auto-detect."
},
"aspect_ratio": {
"enum": [
"9:16",
"1:1",
"16:9"
],
"type": "string",
"default": "9:16",
"description": "Output frame. Honored on the generated-portrait path only — ignored when you supply avatar_image (the photo's framing wins)."
},
"avatar_image": {
"type": "image",
"description": "Optional presenter portrait. Clear, front-facing, mouth visible."
}
}
}Output schema (JSON Schema)
{
"type": "object",
"properties": {
"video": {
"type": "video",
"description": "The rendered talking-avatar clip (lip-synced narration). The playground renders it with a <video> player.\n"
}
}
}Call AI Talking Avatar Generator from your app.
Run it free in the playground above, then wire it in with one call — from Python, TypeScript, or your coding agent over MCP. Every run returns an exact cost receipt.
Every run is billed to the cent — see pricing.