Guide · Agent skill
How to use the KrillinAI TTS Dubbing agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The krillinai-tts skill is an agent skill that lets an AI agent turn a target-language subtitle file (SRT) into spoken audio using the KrillinAI command-line tool. It can also produce a dubbed MP4 when you supply the original video. This guide explains what the skill does, how to install it, how to ask for it in plain language, and how to check the output before you use it.
Quick start
- 1Set up KrillinAI CLI. Install the KrillinAI CLI binary and set its location in the KRILLINAI_CLI environment variable. Make sure you have access to the cli-contract.md reference in the OpenCreator repository.
- 2Configure a TTS provider. In your KrillinAI working directory, edit config/config.toml and configure a TTS provider with the credentials it requires.
- 3Install the skill. Unzip the downloaded ZIP and place the krillinai-tts folder in ~/.claude/skills/ or a project's .claude/skills/, or upload it under Settings → Capabilities → Skills.
- 4Prepare your SRT file. Place your translated subtitles in the working directory as target_language_srt.srt. Add origin_video.mp4 if you want a dubbed video.
- 5Ask the agent in plain language. Name the SRT file and, if needed, the video, and ask for a voiceover or dubbed video.
- 6Verify the JSON result. Check that the terminal JSON reports "ok": true and that the output paths come from the manifest.
- 7Check the audio and video. Confirm tts_final_audio.wav is non-empty. If video_with_tts.mp4 exists, inspect it with ffprobe for duration and audio stream.
What is an agent skill, and what does krillinai-tts make the agent do?
An agent skill is a folder with a SKILL.md file that gives an AI agent specific instructions for one kind of task. When the skill is installed and relevant, the agent reads those instructions and follows them.
The krillinai-tts skill covers the TTS (text-to-speech) stage of dubbing. The agent takes an SRT subtitle file in the target language, runs the KrillinAI CLI tool to synthesize speech from those lines, and produces a WAV audio track. If an original video is also supplied, it produces a dubbed MP4 named video_with_tts.mp4.
The skill also tells the agent how to check its own work: confirm the JSON output reports success, confirm the audio file exists and is not empty, and use ffprobe to inspect the dubbed video's duration and audio stream.
What you need before installing
The skill does not work alone. It needs the following in place:
- KrillinAI CLI binary, with its location set in the KRILLINAI_CLI environment variable.
- A KrillinAI working directory containing config/config.toml, with a TTS provider configured. Provider credentials or API keys are needed for this, but the skill file does not specify how to set them.
- ffprobe, used to verify dubbed video output.
- Read access to skills/krillinai-cli/references/cli-contract.md in the OpenCreator repository. The skill tells the agent to read this file first for binary location, working directory, configuration and JSON behaviour.
- Your own translated SRT file. The skill only synthesizes speech; it does not translate or transcribe.
How do you install the krillinai-tts skill?
Download the ZIP for this skill from this page and unzip it. The folder should contain SKILL.md. Then place the folder in one of these locations:
- Personal skills: ~/.claude/skills/ so the skill is available across your projects.
- Project skills: the .claude/skills/ folder inside a specific project, so it is available only there.
- Claude apps: upload the ZIP under Settings → Capabilities → Skills.
How do you trigger the skill with a natural request?
You do not need to type a command yourself. Describe the task in plain language and mention the files involved. The skill's description tells the agent to use it when you want target-language dubbing from SRT subtitles, including TTS audio and optional dubbed video.
Requests that should match include asking for a voiceover from an existing Spanish SRT, or asking for a dubbed video built from your subtitle file and original video. Always name the SRT file and, if you want a video, the original video.
- "Use the KrillinAI TTS skill to voice target_language_srt.srt in my project folder."
- "Create a dubbed video from origin_video.mp4 using my translated subtitles."
- "Make a WAV voiceover from this SRT and check the audio file is not empty."
What command does the skill run?
The skill runs the KrillinAI CLI tts stage from the KrillinAI working directory. Its main inputs are the working directory, the SRT file and, optionally, the video. The skill uses the line mode target-only, which voices only the target-language lines.
- --input-srt is required and usually points to target_language_srt.srt.
- --video is optional and is needed to produce video_with_tts.mp4.
- --line-mode target-only uses target-language lines only. Bilingual modes (bilingual-target-top and bilingual-target-bottom) are also listed.
- --voice selects a provider-specific voice.
- --voice-clone-source takes a voice clone source audio URL or path, when the provider supports it.
- --dry-run validates the command shape without running it.
(cd "$KRILLINAI_CWD" && "$KRILLINAI_CLI" tts \
--workdir "$WORKDIR" \
--input-srt "$WORKDIR/target_language_srt.srt" \
--line-mode target-only \
--video "$WORKDIR/origin_video.mp4")How do you check the output?
The skill asks the agent to read the output paths from the manifest rather than guessing file locations. Expect tts_final_audio.wav, and video_with_tts.mp4 when a video was provided.
Verification steps in the skill:
- Require terminal JSON with "ok": true. If it is not true, treat the run as failed and read the JSON/error contract in cli-contract.md.
- Confirm tts_final_audio.wav exists and has non-zero size.
- If video_with_tts.mp4 was produced, inspect its duration and audio stream with ffprobe.
What about safety: scripts and network?
This skill runs scripts and uses the network. The CLI sends the subtitle text to whichever TTS provider is set in config.toml, so the text leaves your machine. Do not use it on sensitive or confidential material unless you are comfortable with that provider handling it.
Check the configuration before a run, use --dry-run to validate the command shape, and review the output paths the agent reports.
- Only use provider accounts and keys you control.
- Keep config.toml out of shared repositories if it holds credentials.
- Review the command the agent runs before approving it on important files.
Tips for better results
Give the agent clean, final subtitles. Timing and wording errors in the SRT will carry into the voiceover. Keep the working directory and file names consistent so the agent can find target_language_srt.srt and origin_video.mp4 without guessing.
- Run --dry-run first when you change flags or line mode.
- Choose a voice with --voice if the default does not suit your content.
- Listen to tts_final_audio.wav before building the dubbed video.
What people use it for
- Adding a voiceover to a translated explainer video from an existing target-language SRT.
- Generating a dubbed MP4 from an original video and its translated subtitles.
- Building an automated localization pipeline where an agent runs the TTS stage for many videos and checks each result.
- Producing a standalone WAV narration track from subtitles for review or further editing.
Frequently asked questions
How do I install the krillinai-tts skill?
Download the skill ZIP from this page and unzip it. Place the krillinai-tts folder in ~/.claude/skills/ for all projects, or in a project's .claude/skills/ folder for one project. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
What do I need to run krillinai-tts?
You need the KrillinAI CLI binary with its path in KRILLINAI_CLI, a KrillinAI working directory with config/config.toml containing a configured TTS provider, a translated SRT file, and ffprobe if you want to verify dubbed video. The skill also needs read access to cli-contract.md in the OpenCreator repository.
Is krillinai-tts free to use?
The skill is licensed under Apache-2.0. The source does not state pricing for the TTS providers you configure, so check the terms of your chosen provider before running large jobs.
Does the skill translate or transcribe my video?
No. It only synthesizes speech from an existing SRT file. You need to supply the target-language subtitles yourself.
Why does the skill fail without a TTS provider?
The skill cannot produce output without the KrillinAI CLI and a TTS provider configured in config/config.toml. Provider credentials are needed, and the skill file does not explain how to set them, so refer to the KrillinAI CLI documentation.
Can it run without the video?
Yes. The --video flag is optional. Without it, the skill produces tts_final_audio.wav only, and video_with_tts.mp4 is created only when a video input is available.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Choose this skill if you already have translated SRT subtitles, use or plan to use KrillinAI CLI, and want an agent to generate voiceovers or dubbed videos and check the results. Pick something else if you have not set up KrillinAI CLI and a TTS provider, need translation or transcription, or must keep confidential text off third-party services.
Download the skill