<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
therizwan/shellshock/shellshock-stt
──Details
PublishedOctober 21, 2026 at 10:27 AM
Content Hashsha256:271352c1a39ba9a1...
Git SHA9f2968d07418
──Files
Files (1 file, 3.0 KB)
SKILL.md3.0 KBactive
SKILL.md · 81 lines · 3.0 KB

version: "1.0.0" name: shellshock-stt description: Speech-to-text via ShellShock /v1/audio/transcriptions using OpenAI Whisper / Groq / Gemini / Deepgram / AssemblyAI / NVIDIA / HuggingFace models. Use when the user wants to transcribe audio, convert speech to text, or get subtitles from audio files.


ShellShock — Speech-to-Text

Requires SHELLSHOCK_URL (and SHELLSHOCK_KEY if auth enabled). See https://raw.githubusercontent.com/theRizwan/ShellShock/refs/heads/main/skills/shellshock/SKILL.md for setup.

Discover

bash
curl $SHELLSHOCK_URL/v1/models/stt | jq '.data[].id'
# Per-model params (language, response_format, prompt, temperature support)
curl "$SHELLSHOCK_URL/v1/models/info?id=openai/whisper-1"

model = STT model ID (e.g. openai/whisper-1, groq/whisper-large-v3, deepgram/nova-3, gemini/gemini-2.5-flash).

Endpoint

POST $SHELLSHOCK_URL/v1/audio/transcriptions (OpenAI Whisper compatible, multipart/form-data)

FieldRequiredNotes
modelyesfrom /v1/models/stt
fileyesaudio file (mp3, wav, m4a, webm, ogg, flac)
languagenoISO-639-1 (e.g. en, vi)
promptnohint text to guide transcription
response_formatnojson (default) / text / verbose_json / srt / vtt
temperatureno0–1

Examples

bash
curl -X POST "$SHELLSHOCK_URL/v1/audio/transcriptions" \
-H "Authorization: Bearer $SHELLSHOCK_KEY" \
-F "model=openai/whisper-1" \
-F "file=@audio.mp3" \
-F "language=vi"

JS (Node):

js
import { createReadStream } from "node:fs";
const form = new FormData();
form.append("model", "groq/whisper-large-v3-turbo");
form.append("file", new Blob([await (await import("node:fs/promises")).readFile("audio.mp3")]), "audio.mp3");
const r = await fetch(`${process.env.SHELLSHOCK_URL}/v1/audio/transcriptions`, {
method: "POST",
headers: { "Authorization": `Bearer ${process.env.SHELLSHOCK_KEY}` },
body: form,
});
const { text } = await r.json();
console.log(text);

Response shape

Default (response_format=json):

json
{ "text": "Xin chào, đây là bản ghi âm." }

verbose_json adds language, duration, segments[] with timestamps. srt / vtt return subtitle text.

Provider quirks

Providermodel formatNotes
openaiwhisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribeNative OpenAI shape
groqwhisper-large-v3, whisper-large-v3-turbo, distil-whisper-large-v3-enFastest; OpenAI shape
geminigemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-liteServer converts to generateContent with audio inline
deepgramnova-3, nova-2, whisper-largeToken auth; server adapts response
assemblyaiuniversal-3-pro, universal-2Async upload+poll handled server-side
nvidianvidia/parakeet-ctc-1.1b-asrNIM endpoint
huggingfaceopenai/whisper-large-v3, openai/whisper-smallHF Inference API
All versions