A command-line tool to create video presentations with title cards and transcriptions
npm install maketalkA command-line tool to create professional video presentations with title cards and transcriptions.
- Convert MOV files to MP4 with automatic dimension normalization
- Standalone EBU R128 loudness normalization for any video file
- Merge multi-part video sections
- Extract and transcribe audio using Yakety
- Generate beautiful title cards with customizable design
- Create final presentation video with title cards and content
YAKD_TRANSCRIBE_PATH environment variable)Install globally:
``bash`
npm install -g maketalk
Or run with npx:
`bash`
npx maketalk
Important: MOV files must follow a specific naming convention:
- Format: XX-name.mov where XX is a two-digit section number01-introduction.mov
- Examples:
- ✅ 02-main-content.mov
- ✅ 03-conclusion.mov
- ✅ intro.mov
- ❌ (missing section number)todo-workflow.mov
- ❌ (missing section number)
1. Place your MOV files in a directory with proper naming (see above)
2. Run the tool:
`bash`
maketalk
3. Follow the prompts to generate transcriptions and create a prompt for title generation
4. Use claude-danger with the generated prompt to create title_cards.json
5. Continue the process:
`bash`
maketalk --continue
1. Place your MOV files in a directory with proper naming (see above)
2. Run the tool:
`bash`
maketalk
3. The tool will generate:
- sections.json - Information about your video sectionstitle_cards.json
- - Template with placeholder titles
4. Edit title_cards.json to add your own titles and descriptions
5. Continue the process:
`bash`
maketalk --continue
6. (Optional) Level the audio of the final presentation:
`bash`
maketalk --level-audio final_presentation.mp4
If you need to re-run the process but already have converted videos:
`bash`This will keep your converted videos and re-do all subsequent steps
maketalk --resume-after-conversion
This is useful when:
- You want to regenerate transcriptions
- You need to create different title cards
- Something failed after the conversion step
bash
maketalk --preview 01 "Claude Code" "The Future of Programming"
`$3
`bash
Level audio of any video file (in-place)
maketalk --level-audio video.mp4
`$3
- --level-audio : Apply EBU R128 loudness normalization to a single file (standalone operation)
- --continue: Continue from the claude-danger step after creating title_cards.json
- --resume-after-conversion: Resume processing after MOV to MP4 conversion (keeps converted videos)
- --preview : Preview a title card design
- --help: Show help informationEnvironment Variables
-
YAKD_TRANSCRIBE_PATH: Path to the Yakety transcribe binary (default: /Users/badlogic/workspaces/yakety/build/bin/transcribe)Output
The tool creates a
generated/ directory with:
- audio/: Extracted audio files
- transcriptions/: Text transcriptions
- title_cards/: Generated title card images and videos
- converted_videos/: Processed MP4 filesFinal output:
final_presentation.mp4Audio Leveling
The
--level-audio option applies professional EBU R128 loudness normalization to any video file. This is a standalone operation that:- Normalizes to -16 LUFS (suitable for online video platforms)
- Updates the file in-place
- Preserves video quality (video stream is copied, not re-encoded)
- Shows before/after audio level analysis
Example workflow:
`bash
Create the presentation
maketalkLevel the audio of the final output
maketalk --level-audio final_presentation.mp4
``Note: Audio leveling requires two passes - one to analyze and one to apply normalization.
ISC