voicemonkey
Control Alexa devices via VoiceMonkey API v2 - make announcements, trigger routines, start flows, and display media.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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
- Get your secret token from Voice Monkey Console → Settings → API Credentials
- Set environment variable:
Or add toexport VOICEMONKEY_TOKEN="your-secret-token"~/.clawdbot/clawdbot.json:{ "skills": { "entries": { "voicemonkey": { "env": { "VOICEMONKEY_TOKEN": "your-secret-token" } } } } } - Find your Device IDs in the Voice Monkey Console → Settings → Devices
API Base URL
https://api-v2.voicemonkey.io
Announcement API
Make TTS announcements, play audio/video, or display images on Alexa devices.
Endpoint: https://api-v2.voicemonkey.io/announcement
Basic TTS Announcement
curl -X GET "https://api-v2.voicemonkey.io/announcement?token=$VOICEMONKEY_TOKEN&device=YOUR_DEVICE_ID&text=Hello%20from%20Echo"
With Authorization Header (recommended)
curl -X POST "https://api-v2.voicemonkey.io/announcement" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_DEVICE_ID",
"text": "Hello from Echo the Fox!"
}'
With Voice and Chime
curl -X POST "https://api-v2.voicemonkey.io/announcement" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_DEVICE_ID",
"text": "Dinner is ready!",
"voice": "Brian",
"chime": "soundbank://soundlibrary/alarms/beeps_and_bloops/bell_02"
}'
Display Image on Echo Show
curl -X POST "https://api-v2.voicemonkey.io/announcement" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_DEVICE_ID",
"text": "Check out this image",
"image": "https://example.com/image.jpg",
"media_width": "100",
"media_height": "100",
"media_scaling": "best-fit"
}'
Play Audio File
curl -X POST "https://api-v2.voicemonkey.io/announcement" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_DEVICE_ID",
"audio": "https://example.com/sound.mp3"
}'
Play Video on Echo Show
curl -X POST "https://api-v2.voicemonkey.io/announcement" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_DEVICE_ID",
"video": "https://example.com/video.mp4",
"video_repeat": 1
}'
Open Website on Echo Show
curl -X POST "https://api-v2.voicemonkey.io/announcement" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_DEVICE_ID",
"website": "https://example.com",
"no_bg": "true"
}'
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: https://api-v2.voicemonkey.io/trigger
curl -X POST "https://api-v2.voicemonkey.io/trigger" \
-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: https://api-v2.voicemonkey.io/flows
curl -X POST "https://api-v2.voicemonkey.io/flows" \
-H "Authorization: $VOICEMONKEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device": "YOUR_DEVICE_ID",
"flow": 12345
}'
| 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
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-30
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!