Opennan

Dub analysis

Live

See every character and every line in a video, translated into the language you pick, with the exact price to dub it before you spend anything on the dub.

Up to $0.7639 per minuteVideos up to 5 minutes · failed runs are not charged

Dub analysis

Video
94 languages

Pick an example to see its real analysis, or bring your own video and run it. Sign in to run.

Example outputA real analysis of this video.

5 characters · 15 lines

Spoken in English · translated into Thai · 1:05

This analysis cost $1.125.

Price to dub this video

$1.115 with native voices and lip sync

CharacterLinesNative voiceTheir own voice
Launch Controller3$0.111$0.611
Celia4$0.167$0.667
Tom6$0.2778$0.7778
Technician1$0.06896Not offered
Observer1$0.03641Not offered

The total includes lip sync ($0.4279). A character's own voice is priced in place of a native one; keeping a character in the original language is free.

Lines

  1. Launch Controller

    Original: We have main engine start.

    Translation: เครื่องยนต์หลักเริ่มทำงาน

  2. Launch Controller

    Original: Four, three, two,

    Translation: สี่ สาม สอง

  3. Launch Controller

    Original: one,

    Translation: หนึ่ง

  4. Celia

    Original: You're a jerk, Tom.

    Translation: นายมันงี่เง่า ทอม

  5. Tom

    Original: Look, Celia, we have to follow our passions.

    Translation: ฟังนะซีเลีย เราต้องตามความฝัน

  6. Tom

    Original: You have your robotics and I just want to be awesome in space.

    Translation: เธอชอบหุ่นยนต์ ส่วนฉันแค่อยากเท่ในอวกาศ

  7. Celia

    Original: Why don't you just admit that you're freaked out by my robot hand?

    Translation: ทำไมไม่ยอมรับล่ะ ว่านายกลัวมือหุ่นยนต์ของฉัน

  8. Tom

    Original: I'm not freaked out by...

    Translation: ฉันไม่ได้กลัว...

  9. Tom

    Original: it's...

    Translation: มันแบบ...

  10. Tom

    Original: Alright, fine.

    Translation: ก็ได้ ยอมรับ

  11. Tom

    Original: I'm freaked out, I'm having nightmares that I'm being chased by this giant robotic claw

    Translation: ฉันกลัว ฝันร้ายว่าโดนก้ามหุ่นยนต์ยักษ์ไล่ล่า

  12. Celia

    Original: Whatever, Tom.

    Translation: ช่างเถอะ ทอม

  13. Celia

    Original: We're done.

    Translation: เราจบกัน

  14. Technician

    Original: Robot's memory synced and locked.

    Translation: ซิงก์ความจำหุ่นยนต์แล้ว ล็อกเรียบร้อย

  15. Observer

    Original: This is pretty freaky.

    Translation: นี่มันหลอนชะมัด

See and hear this video dubbed on the video dubbing page.

Dub this video

Tears of Steel (CC) Blender Foundation | mango.blender.org — CC BY 3.0

Pricing

Up to $0.7639 per started minute of video

You see the exact price before you run it, and a failed run is not charged. The analysis then gives the exact price of the dub. Longer videos cost less per minute.

  • Videos up to 5 minutes
  • Files up to 200 MB
  • 94 languages to translate into
  • Dub from an analysis within 6 days
  1. 01Analyze the videoUp to $0.7639 per started minute: every character and every line, translated into the language you pick.
  2. 02Check the dub priceThe analysis prices the dub character by character: a native voice, their own voice, or kept as it is, with or without lip sync.
  3. 03Dub itDub from the analysis within 6 days, on the video dubbing page or with the API. The dub is paid on its own.

Call Dub analysis from your code

One endpoint and one key, on the same balance as the playground. The request below is the example's own.

POSThttps://api.opennan.com/v1/videos/dub-analyses
  1. Get an API key

    Create a key in the console. It uses the same balance as the playground.

    Create a key
  2. Send your first request

    The same request the playground sends. Set OPENNAN_KEY to your key.

    curl https://api.opennan.com/v1/videos/dub-analyses \
      -H "Authorization: Bearer $OPENNAN_KEY" \
      -H "Content-Type: application/json" \
      -d '{"video_url":"https://cdn.opennan.com/examples/video-dubbing/tears-of-steel-original.mp4","target_language":"th"}'
    
    # Then poll until "status" is "succeeded" or "failed":
    curl https://api.opennan.com/v1/tasks/<task id> -H "Authorization: Bearer $OPENNAN_KEY"
  3. Poll the task

    The call answers right away with a task id. Ask for the task until it finishes:

    GEThttps://api.opennan.com/v1/tasks/{id}
    queued
    Waiting for a worker
    running
    Being made
    succeeded
    Done: outputs[].url holds the files
    failed
    Failed: you are not charged

Errors and how to fix them

  • 401Missing or wrong key

    Send the header Authorization: Bearer with a key from the console.

  • 402Balance too low

    Add credit in Billing, then send the same call again.

  • 400A value is not accepted

    Read error.message: it names the field. Use a value from the parameter table.

  • 429Too many requests

    Wait a few seconds and try again, waiting longer after each 429.

Add Opennan to your AI app

One install gives your AI every Opennan tool: video, images, chat, voice, music, sound effects, 3D, captions and dubbing. Pick your app and follow the steps.

MCP serverhttps://api.opennan.com/v1/mcp

Works in the Codex CLI, the Codex app and the Codex IDE extension: they share ~/.codex/config.toml. If the app or IDE does not see OPENNAN_KEY, use the config.toml option with your key in it. Codex asks before each tool call: approve it to go on.

  1. Get an API key

    Create a key in the console. It starts with sk- and uses the same balance as the website.

    Create a key
  2. Save your key as OPENNAN_KEY

    # macOS / Linux (zsh shown; bash: ~/.bashrc)
    echo 'export OPENNAN_KEY="sk-..."' >> ~/.zshrc
    source ~/.zshrc
    
    # Windows (PowerShell), then open a new terminal
    setx OPENNAN_KEY "sk-..."
  3. Install the Opennan plugin: the server plus a skill that teaches your AI to pick models, confirm prices and wait for results

    codex plugin marketplace add Opennan/opennan-ai-plugin
    codex plugin add opennan@opennan
  4. Or add only the server

    codex mcp add opennan --url https://api.opennan.com/v1/mcp --bearer-token-env-var OPENNAN_KEY
  5. Or add this to ~/.codex/config.toml

    [mcp_servers.opennan]
    url = "https://api.opennan.com/v1/mcp"
    http_headers = { Authorization = "Bearer sk-..." }
  6. Check that opennan is listed

    codex mcp list
  7. Restart Codex, then ask for anything

    “Make a 5 second video of rain on a neon street, a song to go with it and a poster image.”

Replace sk-... with your own key and keep it private: anyone who has it can spend your balance. Your app can list the tools before you add a key; making anything needs one.

This tool from your AI

Once Opennan is added, your AI calls this tool with arguments like these.

Tool
analyze_video_dub
Example arguments
{
  "video_url": "https://cdn.opennan.com/examples/video-dubbing/tears-of-steel-original.mp4",
  "target_language": "th"
}

Dub analysis: questions

What does the analysis give me?

Every speaking character with their number of lines, every line with its translation into the language you pick, and the exact price to dub the video: per character, for a native voice or their own voice, and for lip sync.

How long can the video be?

Up to 5 minutes and 200 MB. Paste a YouTube, TikTok, Instagram, Vimeo, X or Facebook link, or upload an MP4, MOV or WEBM file.

Which languages can it translate into?

94 languages, including English, Thai, Japanese, Chinese, Spanish, Hindi and Arabic.

How do I dub the video afterwards?

Open video dubbing: your analysis is ready there for 6 days. Choose a voice for each character, edit any line, and dub. From code, send its analysis_id to POST /v1/videos/dubs.

How much does Dub analysis cost?

Up to $0.7639 per minute. The Run button shows the exact price for your input before you start.

How do I call it from my code?

Send POST https://api.opennan.com/v1/videos/dub-analyses with your API key. It answers with a task id: ask https://api.opennan.com/v1/tasks/{id} until the task succeeds or fails.

Can my AI agent use it?

Yes. Add the MCP server https://api.opennan.com/v1/mcp and call the analyze_video_dub tool, or point your agent at https://api.opennan.com/llms.txt.

What happens if a run fails?

A failed run is not charged. You pay only for results.

We only use the cookies the site needs, such as your language and a referral code. No ads. We count page visits with cookie-free analytics. See our Cookie Policy for details.