chatcut-narration

Synthesizes narration audio via MiniMax TTS and retimes video timelines by measured durations.

Updated Jul 3, 2026
One-click install
npx skills add https://github.com/LYGOLANG/fufan-cc-flow --skill chatcut-narration-lygolang
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: chatcut-narration
Source: https://github.com/LYGOLANG/fufan-cc-flow/tree/main/bundled-plugins/chatcut/skills/chatcut-narration
Command: npx skills add https://github.com/LYGOLANG/fufan-cc-flow --skill chatcut-narration-lygolang

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Course video creators need voiceover audio that matches their script and a timeline that stays in sync with the actual spoken length. This Skill rewrites narration text into TTS-friendly form, synthesizes each segment with MiniMax TTS, and re-times the entire timeline using the real measured audio durations instead of estimates. ## Core Features & Use Cases - TTS-Friendly Rewriting: Converts the user's narration into speech-optimized text while keeping the on-screen original untouched, with per-sentence manual overrides. - Segmented Synthesis with Caching: Synthesizes each narration segment via MiniMax TTS; unchanged segments hit a content-hash cache so only edited parts are regenerated. - Measured-Duration Timeline Retiming: Uses ffprobe-measured audio lengths (not API-reported values) to retime clips and annotations without overlaps or negative durations. - Use Case: A course creator edits one paragraph of their script and asks for the voiceover to be regenerated; only that paragraph is re-synthesized, and the full timeline is re-laid-out to match the new audio length. ## Quick Start Generate voiceover for my course narration and retime the timeline to match the actual audio durations.

Frequently Asked Questions about chatcut-narration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate voiceover for course video narration with TTS?▼

Provide your narration script and request voiceover generation. The text is rewritten into TTS-friendly form, each segment is synthesized through the MiniMax TTS API, and the timeline is retimed using the measured audio durations.

How do I configure MiniMax API credentials for TTS synthesis?▼

Set MINIMAX_API_KEY and MINIMAX_GROUP_ID as environment variables, or place them in a credentials.json file under the chatcut config directory. Both values must come from the same MiniMax account on the api.minimax.chat site.

Why does MiniMax TTS return error 1004 token not match group?▼

Error 1004 means the API key and group ID belong to different MiniMax accounts, or an international-site key was used against the domestic endpoint. Reconfigure both values from the same account; retrying without fixing credentials will not help.

Can I regenerate only one edited narration segment?▼

Yes. Segments are cached by content hash, so editing one paragraph re-synthesizes only that segment while the rest reuse existing audio. This avoids re-running the full batch and consuming extra API quota.

How is the video timeline retimed after voiceover synthesis?▼

Each segment's duration is measured with ffprobe rather than trusting the API's reported audio_length. Clips and annotations are then re-laid-out so the timeline has no overlaps or negative durations, matching the real spoken length.