From sundial-org-awesome-openclaw-skills-4
Transcribes audio/video files using AssemblyAI API from local uploads or URLs, with exports to subtitles (SRT/VTT), paragraphs, sentences, JSON, or plain text.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
Use this skill when you need to transcribe audio/video or export readable formats (subtitles, paragraphs, sentences) using AssemblyAI.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Use this skill when you need to transcribe audio/video or export readable formats (subtitles, paragraphs, sentences) using AssemblyAI.
The helper script in this skill implements the basic REST flow:
POST /v2/upload.POST /v2/transcript.GET /v2/transcript/:id until the transcript status is completed (or error).This skill requires:
node on PATH (Node.js 18+ recommended; script uses built-in fetch)ASSEMBLYAI_API_KEY in the environmentRecommended Clawdbot config (~/.clawdbot/clawdbot.json):
{
skills: {
entries: {
// This skill declares metadata.clawdbot.skillKey = "assemblyai"
assemblyai: {
enabled: true,
// Because this skill declares primaryEnv = ASSEMBLYAI_API_KEY,
// you can use apiKey as a convenience:
apiKey: "YOUR_ASSEMBLYAI_KEY",
env: {
ASSEMBLYAI_API_KEY: "YOUR_ASSEMBLYAI_KEY",
// Optional: use EU async endpoint
// ASSEMBLYAI_BASE_URL: "https://api.eu.assemblyai.com"
}
}
}
}
}
Run these commands via the Exec tool.
Print transcript text to stdout:
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3"
node {baseDir}/assemblyai.mjs transcribe "https://example.com/audio.mp3"
Write transcript to a file (recommended for long audio):
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" --out ./transcript.txt
Any fields supported by POST /v2/transcript can be passed via --config:
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" \
--config '{"speaker_labels":true,"summarization":true,"summary_model":"informative","summary_type":"bullets"}' \
--export json \
--out ./transcript.json
Transcribe and immediately export subtitles:
node {baseDir}/assemblyai.mjs transcribe "./path/to/video.mp4" --export srt --out ./subtitles.srt
node {baseDir}/assemblyai.mjs transcribe "./path/to/video.mp4" --export vtt --out ./subtitles.vtt
Or export subtitles from an existing transcript ID:
node {baseDir}/assemblyai.mjs subtitles <transcript_id> srt --out ./subtitles.srt
node {baseDir}/assemblyai.mjs paragraphs <transcript_id> --out ./paragraphs.txt
node {baseDir}/assemblyai.mjs sentences <transcript_id> --out ./sentences.txt
node {baseDir}/assemblyai.mjs get <transcript_id> --format json
node {baseDir}/assemblyai.mjs get <transcript_id> --wait --format text
--out <file> when output might be large.ASSEMBLYAI_BASE_URL to the EU host.