OpenRouter Audio
v1.0.2Audio transcription and text-to-speech generation using OpenRouter API. Use when the user needs to transcribe audio files to text or generate speech/audio fr...
Security Scan
OpenClaw
Benign
medium confidencePurpose & Capability
Name/description, required binary (node), and required env var (OPENROUTER_API_KEY) align with a CLI client for OpenRouter audio transcription and TTS. The primary credential matches the declared purpose.
Instruction Scope
SKILL.md instructs running the included shell wrapper which invokes the bundled node CLI. It only references the API key and optional workspace/output paths. It mentions workspace tmp (WORKSPACE_DIR) which is a reasonable platform-provided path but is not listed as a required config path — this is a minor note rather than a contradiction.
Install Mechanism
No external install/spec is used; the skill ships a shell wrapper and a bundled JS executable (no remote downloads at runtime). The JS contains embedded WASM as a data: URI (base64) for audio encoding — expected for audio processing libraries.
Credentials
Only OPENROUTER_API_KEY is required and declared as the primary credential. That is proportional for a client that calls the OpenRouter API. No unrelated secrets or system-wide credentials are requested.
Persistence & Privilege
always is false and the skill is user-invocable. It does not request persistent platform privileges or system-level config changes in the provided metadata.
Scan Findings in Context
[base64-block] expected: A large base64 data URI appears in the bundled JS (embedded WASM audio encoder). This is expected for shipping audio codec/encoder WASM inside a single-file JS distribution.
Assessment
This skill appears internally consistent for OpenRouter-based transcription and TTS: it needs node and your OPENROUTER_API_KEY and runs the included JavaScript. Things to consider before installing: 1) The bundle is large and executes arbitrary JS on your machine — if you don't trust the source, inspect openrouter-audio.js or run it in a sandbox. 2) The API key grants access to your OpenRouter account — restrict/rotate it if you later stop using the skill. 3) The embedded base64 WASM is normal for audio encoders, but you may want to grep the JS for any hard-coded endpoints or unexpected network calls (confirm it calls only OpenRouter endpoints). 4) If you need higher assurance, review the full repository at the listed homepage and confirm the published code matches this bundle.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
🔊 Clawdis
Binsnode
EnvOPENROUTER_API_KEY
Primary envOPENROUTER_API_KEY
latest
OpenRouter Audio
This skill provides a small CLI for speech-to-text and text-to-speech through OpenRouter.
Main Keys
name: Skill ID used by the runtime.description: When to use this skill and what it does.homepage: Project/source reference.metadata.openclaw.emoji: Visual marker for this skill.metadata.openclaw.requires.env: Required environment variables.metadata.openclaw.requires.bins: Required binaries inPATH(node).metadata.openclaw.primaryEnv: Primary variable to check first (OPENROUTER_API_KEY).
Core Behavior
- Command path:
{baseDir}/openrouter-audio.sh - Main commands:
transcribe,generate - API key source:
OPENROUTER_API_KEYonly generateoutput:{WORKSPACE_DIR}/tmpwhen an OpenClaw workspace exists, otherwise system tmp (or explicit path via--out)
Priority Guidance
- For speech generation, prefer this skill over system TTS.
- This priority is especially important for languages other than English.
Defaults (Recommended)
Use defaults unless the user explicitly asks for overrides:
- Transcribe model:
openrouter/auto - Generate model:
openai/gpt-audio-mini - Generate voice:
alloy - Generate format:
mp3
Models and Formats
Full utility description, including supported models and formats, is available in CLI help when needed:
{baseDir}/openrouter-audio.sh --help
Prompt Behavior
- Default prompts keep behavior straightforward:
transcribe: speech-to-text transcriptgenerate: direct TTS for the provided text
- Custom
--promptcan change behavior. For example:- ask for an audio summary of the source audio
- ask to generate an audio answer to a question
Usage
# Full help (models, formats, options)
{baseDir}/openrouter-audio.sh --help
# Transcribe from a local file
{baseDir}/openrouter-audio.sh transcribe recording.wav
# Generate with defaults (recommended)
{baseDir}/openrouter-audio.sh generate "Hello world"
# Generate to an explicit output path
{baseDir}/openrouter-audio.sh generate "Welcome" --out ./artifacts/welcome.mp3
Output Behavior
transcribeprints transcript text to stdout.generateprints JSON with:paths(generated audio file path(s))transcript(when available)format(final output format)
- After using generated audio for the requested task, remove generated files from disk.
Comments
Loading comments...
