ワンクリックで
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.