بنقرة واحدة
generate-audio
Generate TTS audio from speaker_notes and upload to Vercel Blob
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generate TTS audio from speaker_notes and upload to Vercel Blob
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Process raw sources into wiki pages — creates summaries, entities, and concept pages
Check Sentry errors, Axiom logs, and other monitoring sources for bugs, then fix them with regression tests
Recursively crawl a documentation site, converting each page to markdown
Fetch Google Docs and convert to markdown
Generate AI illustrations for course cards and upload to Vercel Blob
Convert PDF files to markdown
| name | generate-audio |
| description | Generate TTS audio from speaker_notes and upload to Vercel Blob |
| user-invocable | false |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
Generate TTS narration for all page cards with speaker_notes in a course.
/generate-audio <course-slug>
Example: /generate-audio claude-architect
.env to load OPENAI_API_KEY and BLOB_READ_WRITE_TOKEN.courses/<slug>/cards/ for page cards with speaker_notes.courses/<slug>/.enrichment-hashes.json if it exists to check for already-generated audio.tts-1-hd model, voice alloy) with the speaker_notes text.
b. Upload the MP3 to Vercel Blob at path courses/<slug>/audio/<card-id>.mp3.
c. Update the card's frontmatter to add audio: "<blob-url>".
d. Update .enrichment-hashes.json with the MD5 hash of the speaker_notes.alloy).npx tsx scripts/validate-media.ts courses/<slug>
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": "<speaker_notes text>",
"voice": "alloy",
"response_format": "mp3"
}' \
--output audio.mp3
curl -X PUT "https://blob.vercel-storage.com/courses/<slug>/audio/<card-id>.mp3" \
-H "Authorization: Bearer $BLOB_READ_WRITE_TOKEN" \
-H "Content-Type: audio/mpeg" \
-H "x-api-version: 7" \
--data-binary @audio.mp3
.enrichment-hashes.json format:
{
"01-welcome.md": { "audio_hash": "a1b2c3d4" },
"02-agentic-loop.md": { "audio_hash": "e5f6g7h8" }
}
Hash is first 8 chars of MD5 of the speaker_notes content. Skip regeneration when hash matches.