Inworld TTS
Text-to-speech via Inworld.ai API. Use when generating voice audio from text, creating spoken responses, or converting text to MP3/audio files. Supports multiple voices, speaking rates, and streaming for long text.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 1 · 1.9k · 4 current installs · 4 all-time installs
by@Gugic
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description match the behavior: the script calls Inworld.ai TTS endpoints to produce MP3 output. However, the registry metadata lists no required environment variables or primary credential while the SKILL.md and scripts clearly require INWORLD_API_KEY (a Basic Base64 key). This mismatch should be corrected.
Instruction Scope
SKILL.md instructions are scoped to generating TTS: instructing the user to set INWORLD_API_KEY, install/copy the script, and run curl/jq/base64 against Inworld endpoints. There are no instructions to read unrelated system files or to transmit data to unexpected hosts.
Install Mechanism
There is no automated install spec (instruction-only), which keeps risk low. The included script is executed locally. The docs suggest optionally symlinking into /usr/local/bin — that requires elevated write access and is a local decision; review the script before creating global symlinks.
Credentials
Functionally the skill only needs a single service credential (INWORLD_API_KEY with Voices: Read), which is proportionate. The concern is the metadata omission: required env vars/primary credential are not declared in the registry, creating an information gap. Also SKILL.md suggests persisting the key in ~/.bashrc or ~/.clawdbot/.env; users should be aware this stores a secret on disk.
Persistence & Privilege
The skill does not request always: true and does not alter other skills or global agent configuration. Its suggested persistence (storing env var in shell profile) is a local, user-controlled action rather than an automatic privilege escalation by the skill.
Assessment
This skill appears to do exactly what it says — post text to Inworld.ai and decode the returned base64 audio to an MP3. Before installing: 1) Be aware you must supply INWORLD_API_KEY (a Basic Base64 key) — the registry metadata currently omits that requirement; 2) Create a least-privileged Inworld key (Voices: Read) rather than a full account key; 3) Avoid blindly adding secrets to ~/.bashrc or world-readable files — consider a secure credential store or restricted-permission .env; 4) Review scripts/tts.sh yourself (it is short and readable) before symlinking it into /usr/local/bin; 5) Network traffic will go to api.inworld.ai (expected for this skill). If you need the registry metadata to list required env vars for auditing, ask the publisher to update it or decline until corrected.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Inworld TTS
Generate speech audio from text using Inworld.ai's TTS API.
Setup
- Get API key from https://platform.inworld.ai
- Generate key with "Voices: Read" permission
- Copy the "Basic (Base64)" key
- Set environment variable:
export INWORLD_API_KEY="your-base64-key-here"
For persistence, add to ~/.bashrc or ~/.clawdbot/.env.
Installation
# Copy skill to your skills directory
cp -r inworld-tts /path/to/your/skills/
# Make script executable
chmod +x /path/to/your/skills/inworld-tts/scripts/tts.sh
# Optional: symlink for global access
ln -sf /path/to/your/skills/inworld-tts/scripts/tts.sh /usr/local/bin/inworld-tts
Usage
# Basic
./scripts/tts.sh "Hello world" output.mp3
# With options
./scripts/tts.sh "Hello world" output.mp3 --voice Dennis --rate 1.2
# Streaming (for text >4000 chars)
./scripts/tts.sh "Very long text..." output.mp3 --stream
Options
| Option | Default | Description |
|---|---|---|
--voice | Dennis | Voice ID |
--rate | 1.0 | Speaking rate (0.5-2.0) |
--temp | 1.1 | Temperature (0.1-2.0) |
--model | inworld-tts-1.5-max | Model ID |
--stream | false | Use streaming endpoint |
API Reference
| Endpoint | Use |
|---|---|
POST https://api.inworld.ai/tts/v1/voice | Standard synthesis |
POST https://api.inworld.ai/tts/v1/voice:stream | Streaming for long text |
Requirements
curl- HTTP requestsjq- JSON processingbase64- Decode audio
Examples
# Quick test
export INWORLD_API_KEY="aXM2..."
./scripts/tts.sh "Testing one two three" test.mp3
mpv test.mp3 # or any audio player
# Different voice and speed
./scripts/tts.sh "Slow and steady" slow.mp3 --rate 0.8
# Fast-paced narration
./scripts/tts.sh "Breaking news!" fast.mp3 --rate 1.5
Troubleshooting
"INWORLD_API_KEY not set" - Export the environment variable before running.
Empty output file - Check API key is valid and has "Voices: Read" permission.
Streaming issues - Ensure jq supports --unbuffered flag.
Links
- Inworld Platform: https://platform.inworld.ai
- API Examples: https://github.com/inworld-ai/inworld-api-examples
Files
2 totalSelect a file
Select a file to preview.
Comments
Loading comments…
