voicemonkey
Control Alexa devices via VoiceMonkey API v2 - make announcements, trigger routines, start flows.
Installation
npx clawhub@latest install voicemonkeyView the full skill documentation and source below.
Documentation
VoiceMonkey
Control Alexa/Echo devices via VoiceMonkey API v2. Make TTS announcements, trigger Alexa routines, start flows, and display images/videos on Echo Show devices.
Setup
export VOICEMONKEY_TOKEN="your-secret-token"Or add to
~/.clawdbot/clawdbot.json:{
"skills": {
"entries": {
"voicemonkey": {
"env": { "VOICEMONKEY_TOKEN": "your-secret-token" }
}
}
}
}API Base URL
Announcement API
Make TTS announcements, play audio/video, or display images on Alexa devices.
Endpoint:
### Basic TTS Announcement
__CODE_BLOCK_3__
### With Authorization Header (recommended)
__CODE_BLOCK_4__
### With Voice and Chime
__CODE_BLOCK_5__
### Display Image on Echo Show
__CODE_BLOCK_6__
### Play Audio File
__CODE_BLOCK_7__
### Play Video on Echo Show
__CODE_BLOCK_8__
### Open Website on Echo Show
__CODE_BLOCK_9__
### Announcement Parameters
| Parameter | Required | Description |
|-----------|----------|-------------|
| token | Yes* | Secret token (*or use Authorization header) |
| device | Yes | Device ID from Voice Monkey console |
| text | No | TTS text (supports SSML) |
| voice | No | Voice for TTS (see API Playground for options) |
| language | No | Language code for better pronunciation |
| chime | No | Sound URL or Alexa sound library reference |
| audio | No | HTTPS URL of audio file to play |
| background_audio | No | Audio to play behind TTS |
| image | No | HTTPS URL of image for Echo Show |
| video | No | HTTPS URL of MP4 video for Echo Show |
| video_repeat | No | Number of times to loop video |
| website | No | URL to open on Echo Show |
| no_bg | No | Set "true" to hide Voice Monkey branding |
| media_width | No | Image width |
| media_height | No | Image height |
| media_scaling | No | Image scaling mode |
| media_align | No | Image alignment |
| media_radius | No | Corner radius for image clipping |
| var-[name] | No | Update Voice Monkey variables |
## Routine Trigger API
Trigger Voice Monkey devices to start Alexa Routines.
**Endpoint:**
curl -X POST "" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_TRIGGER_DEVICE_ID"
}'
| Parameter | Required | Description |
token | Yes | Secret token (or use Authorization header) |
device | Yes | Trigger Device ID from Voice Monkey console |
Flows Trigger API
Start Voice Monkey Flows.
Endpoint:
__CODE_BLOCK_11__
| Parameter | Required | Description |
|-----------|----------|-------------|
| token | Yes* | Secret token (*or use Authorization header) |
| device | Yes | Device ID |
| flow | Yes | Numeric Flow ID from Voice Monkey console |
## Media Requirements
### Images
- Most common formats supported (JPG, PNG, etc.)
- **No animated GIFs**
- Optimize file size for faster loading
- Must be hosted at HTTPS URL with valid SSL
- CORS must allow wildcard: Access-Control-Allow-Origin: *
### Videos
- **MP4 format only** (MPEG-4 Part-14)
- Audio codecs: AAC, MP3
- Max resolution: 1080p @30fps or @60fps
- Must be hosted at HTTPS URL with valid SSL
### Audio
- Formats: AAC, MP3, OGG, Opus, WAV
- Bit rate: ≤ 1411.20 kbps
- Sample rate: ≤ 48kHz
- File size: ≤ 10MB
- Total response length: ≤ 240 seconds
## SSML Examples
Use SSML in the text` parameter for richer announcements:
<speak>
<amazon:emotion name="excited" intensity="high">
This is exciting news!
</amazon:emotion>
</speak>
<speak>
The time is <say-as interpret-as="time">3:30pm</say-as>
</speak>
Notes
- Keep your token secure; rotate via Console → Settings → API Credentials if compromised
- Use the [API Playground]() to test and explore options
- Premium members can upload media directly in the Voice Monkey console
- Always confirm before sending announcements to avoid unexpected noise