From qkconvert
Convert, trim, merge, split, or normalize audio using the QkConvert API. Use when the user asks to "convert audio", "trim a clip", "merge audio files", "normalize volume", "generate a waveform", or needs to process MP3, WAV, FLAC, OGG, AAC, or AIFF files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qkconvert:convert-audioThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Process audio files via QkConvert. Costs 3 credits per request.
Process audio files via QkConvert. Costs 3 credits per request.
Check that QKCONVERT_API_KEY is set by running test -n "$QKCONVERT_API_KEY" && echo "set" || echo "not set" in bash. If not set, tell the user:
Your QkConvert API key is not set. To fix this:
- Sign up free at https://qkconvert.dev/portal/signup
- Create an API key in the dashboard
- Set the env var permanently:
- Mac/Linux: Add
export QKCONVERT_API_KEY=sk_live_...to~/.bashrcor~/.zshrc- Windows: Run
setx QKCONVERT_API_KEY sk_live_...in CMD or PowerShell- Restart Claude Code
Do not proceed until the key is confirmed set.
Do not call the MCP tools directly — the OpenAPI-to-MCP bridge cannot send multipart/form-data, so all tool calls arrive with empty content. Always use curl via the Bash tool:
curl -s -X POST https://qkconvert.dev/api/v1/audio/{endpoint} \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "audio=@{input_file}" \
-F "options={json_options}" \
-o {output_file}
Rules:
-s (silent)-o to save binary output-F "options={\"output_format\":\"mp3\"}"audio (not file) for audio endpointscurl -s -X POST https://qkconvert.dev/api/v1/audio/convert \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "[email protected]" \
-F "options={\"output_format\":\"mp3\",\"bitrate\":192}" \
-o recording.mp3
curl -s -X POST https://qkconvert.dev/api/v1/audio/trim \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "[email protected]" \
-F "options={\"start_secs\":30.0,\"end_secs\":90.0,\"output_format\":\"mp3\"}" \
-o clip.mp3
curl -s -X POST https://qkconvert.dev/api/v1/audio/merge \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "[email protected]" \
-F "[email protected]" \
-F "[email protected]" \
-F "options={\"output_format\":\"mp3\"}" \
-o merged.mp3
curl -s -X POST https://qkconvert.dev/api/v1/audio/split \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "[email protected]" \
-F "options={\"segments\":[{\"start_secs\":0.0,\"end_secs\":60.0},{\"start_secs\":60.0,\"end_secs\":120.0}],\"output_format\":\"mp3\"}" \
-o segments.zip
curl -s -X POST https://qkconvert.dev/api/v1/audio/normalize \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "[email protected]" \
-F "options={\"target_db\":-14.0,\"output_format\":\"wav\"}" \
-o normalized.wav
curl -s -X POST https://qkconvert.dev/api/v1/audio/waveform \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "[email protected]" \
-F "options={\"output_format\":\"png\",\"width\":800,\"height\":200}" \
-o waveform.png
curl -s -X POST https://qkconvert.dev/api/v1/audio/metadata \
-H "Authorization: Bearer $QKCONVERT_API_KEY" \
-F "[email protected]"
| Parameter | Type | Endpoints | Default | Description |
|---|---|---|---|---|
output_format | string | convert, merge, trim, split, normalize | - | "mp3", "wav", or "flac" |
bitrate | integer | convert | - | MP3 kbps (128, 192, 320) |
sample_rate | integer | convert | - | Hz (44100, 48000) |
channels | integer | convert | - | 1 (mono) or 2 (stereo) |
start_secs | float | trim | 0 | Start time in seconds |
end_secs | float | trim | - | End time in seconds |
segments | array | split | - | Array of {start_secs, end_secs} objects |
target_db | float | normalize | -16.0 | Target dBFS |
Input: MP3, WAV, FLAC, OGG, AAC, AIFF Output: MP3, WAV, FLAC (OGG/AAC/AIFF input-only)
Report: operation, input/output formats, file sizes, output path. Use wc -c < file for sizes.
npx claudepluginhub necromunger/qkconvert-plugin --plugin qkconvertProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.