with one click
tts-openai
Generate high-quality voiceover using OpenAI TTS API
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Generate high-quality voiceover using OpenAI TTS API
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Send and read emails via Gmail browser automation
Schedule tasks with natural language using cron
Post-process videos with FFmpeg for final output
Render videos using Remotion React-based video framework
Research topics and gather content for video production
Write compelling video scripts with voiceover and visual directions
| name | tts-openai |
| description | Generate high-quality voiceover using OpenAI TTS API |
| allowed-tools | ["Bash","Read","Write"] |
Generate professional voiceover audio using OpenAI's TTS API.
OPENAI_API_KEYcurl installed (standard on most systems)| Voice | Description | Best For |
|---|---|---|
| alloy | Neutral, balanced | General purpose |
| echo | Warm, conversational | Storytelling |
| fable | British accent, narrative | Documentaries |
| onyx | Deep, authoritative | News, serious topics |
| nova | Friendly, upbeat | Tutorials, explainers |
| shimmer | Soft, gentle | Meditation, ASMR |
| Model | Quality | Speed | Cost |
|---|---|---|---|
| tts-1 | Standard | Fast | Lower |
| tts-1-hd | High-definition | Slower | Higher |
# Generate voiceover
curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1-hd",
"input": "Your script text goes here. This will be converted to speech.",
"voice": "nova"
}' \
--output output/voiceover.mp3
Split into chunks if text is very long (max ~4000 characters per request):
# Generate part 1
curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1-hd",
"input": "First part of the script...",
"voice": "nova"
}' \
--output output/vo_part1.mp3
# Generate part 2
curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1-hd",
"input": "Second part of the script...",
"voice": "nova"
}' \
--output output/vo_part2.mp3
# Combine parts
ffmpeg -i "concat:output/vo_part1.mp3|output/vo_part2.mp3" \
-acodec copy output/voiceover_combined.mp3
ffmpeg -i output/voiceover.mp3 \
-filter:a loudnorm=I=-16:TP=-1.5:LRA=11 \
output/voiceover_normalized.mp3
# Mix voiceover with background music (music at 15% volume)
ffmpeg -i output/voiceover.mp3 -i assets/music/background.mp3 \
-filter_complex "[1:a]volume=0.15[bg];[0:a][bg]amix=inputs=2:duration=first" \
output/voiceover_with_music.mp3
ffprobe -v error -show_entries format=duration \
-of default=noprint_wrappers=1:nokey=1 \
output/voiceover.mp3
| Content Type | Recommended Voice |
|---|---|
| Tech news | onyx (authoritative) |
| Tutorials | nova (friendly) |
| Storytelling | fable or echo |
| General | alloy |
| Calm/ASMR | shimmer |
| Model | Cost per 1M chars | ~Cost per minute |
|---|---|---|
| tts-1 | $15.00 | ~$0.10 |
| tts-1-hd | $30.00 | ~$0.20 |
(Based on ~150 words/min, ~6 chars/word = ~900 chars/min)
Save audio files to:
output/voiceover_{project}.mp3output/voiceover_{project}_normalized.mp3output/voiceover_{project}_final.mp3