bambu-studio-ai
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Send native iMessage voice bubbles with ElevenLabs TTS via BlueBubbles. Use when: user asks to send a voice message, wants something spoken aloud, storytelling or summaries requested, or voice delivery would be more engaging than text. Requires ElevenLabs API key and BlueBubbles.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install amzzzzzzz/imessage-voice-memo-skillInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
Send native iMessage voice bubbles (not file attachments) using ElevenLabs TTS and BlueBubbles.
Run the script with text and recipient:
scripts/send-voice-memo.sh "Your message here" +14169060839
This will:
afconvert audio conversion)~/.openclaw/.env:
ELEVENLABS_API_KEY=your-key-here
BLUEBUBBLES_PASSWORD=your-password-here
# Optional overrides:
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM # Rachel (default)
ELEVENLABS_MODEL_ID=eleven_turbo_v2_5 # Turbo v2.5 (default)
Critical parameters discovered 2026-02-19:
| Parameter | Value | Why |
|---|---|---|
| chatGuid | any;-;+PHONE |
NOT iMessage;-; (causes timeouts) |
| method | private-api |
Required for native bubble |
| isAudioMessage | true |
Required |
| Audio format | Opus @ 24kHz in CAF | iMessage native format |
| Pre-convert | Yes | Don't let BlueBubbles convert (wrong codec) |
Default voice: Rachel (ElevenLabs)
21m00Tcm4TlvDq8ikWAM
eleven_turbo_v2_5 (fast, natural)Expressive tags:
[laughs] — natural laughter[sighs] — expressive sigh[excited] — energetic deliveryExample: "[excited] Oh my god, it worked!"
For full voice list and IDs, see VOICES.md.
Sending (Amz → Amy): Use this skill. Native voice bubbles appear with waveform UI.
Receiving (Amy → Amz): BlueBubbles auto-converts incoming voice memos to MP3. OpenClaw transcribes via Whisper. Transcribed text flows into conversation context automatically.
**Memory note...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
Send native iMessage voice bubbles (not file attachments) via BlueBubbles.
afconvert)git clone https://github.com/amzzzzzzz/imessage-voice-memo-skill.git
cd imessage-voice-memo-skill
cp -r . ~/.openclaw/workspace/skills/voice-memo-imessage/
~/.openclaw/.env:ELEVENLABS_API_KEY=your-key-here
BLUEBUBBLES_PASSWORD=your-bluebubbles-password
chmod +x ~/.openclaw/workspace/skills/voice-memo-imessage/send-voice-memo.sh
./send-voice-memo.sh "Hey, how's it going?" +1234567890
The agent can invoke this skill to send voice responses.
After extensive debugging, we discovered the exact parameters needed for native voice bubbles:
# 1. Generate TTS (ElevenLabs)
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/{voice_id}" \
-d '{"text": "...", "model_id": "eleven_turbo_v2_5"}'
# 2. Convert to Opus CAF @ 24kHz (REQUIRED format for iMessage)
afconvert input.mp3 output.caf -f caff -d opus@24000 -c 1
# 3. Send via BlueBubbles with EXACT parameters
curl -X POST ".../api/v1/message/attachment" \
--for...
# Voice Memo Send native iMessage voice bubbles (not file attachments) using ElevenLabs TTS and BlueBubbles. ## Quick Start Run the script with text and recipient: ```bash scripts/send-voice-memo.sh "Your message here" +14169060839 ``` This will: 1. Generate TTS audio via ElevenLabs (Rachel voice by default) 2. Convert to Opus CAF @ 24kHz (iMessage native format) 3. Send as native voice bubble via BlueBubbles ## Requirements - BlueBubbles running locally with Private API enabled - ElevenLabs API key (for TTS) - macOS (for `afconvert` audio conversion) - Environment variables in `~/.openclaw/.env`: ```bash ELEVENLABS_API_KEY=your-key-here BLUEBUBBLES_PASSWORD=your-password-here # Optional overrides: ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM # Rachel (default) ELEVENLABS_MODEL_ID=eleven_turbo_v2_5 # Turbo v2.5 (default) ``` ## The Working Formula **Critical parameters discovered 2026-02-19:** | Parameter | Value | Why | |-----------|-------|-----| | chatGuid | `any;-;+PHONE` | NOT `iMessage;-;` (causes timeouts) | | method | `private-api` | Required for native bubble | | isAudioMessage | `true` | Required | | Audio format | Opus @ 24kHz in CAF | iMessage native format | | Pre-convert | Yes | Don't let BlueBubbles convert (wrong codec) | ## Voice Options **Default voice:** Rachel (ElevenLabs) - Voice ID: `21m00Tcm4TlvDq8ikWAM` - Model: `eleven_turbo_v2_5` (fast, natural) - Cost: ~$0.04 per 30s message **Expressive tags:** - `[laughs]` — natural laughter - `[sighs]` — expressive sigh - `[excited]` — energetic delivery Example: `"[excited] Oh my god, it worked!"` For full voice list and IDs, see [VOICES.md](references/VOICES.md). ## Bidirectional Voice Memos **Sending (Amz → Amy):** Use this skill. Native voice bubbles appear with waveform UI. **Receiving (Amy → Amz):** BlueBubbles auto-converts incoming voice memos to MP3. OpenClaw transcribes via Whisper. Transcribed text flows into conversation context automatically. **Memory note...
# iMessage Voice Memo Skill for OpenClaw
Send **native iMessage voice bubbles** (not file attachments) via BlueBubbles.



## Features
- 🎤 **Native voice bubbles** — Appears with waveform, tap to play (not as file attachment)
- 🗣️ **ElevenLabs TTS** — Natural-sounding voice synthesis
- ⚡ **Fast** — End-to-end in ~0.4 seconds
- 🔄 **Bidirectional** — Send and receive voice memos via iMessage
## Requirements
- **macOS** (for `afconvert`)
- **BlueBubbles Server** running locally with **Private API enabled**
- **ElevenLabs API key** (for TTS)
## Installation
1. Clone this repo:
```bash
git clone https://github.com/amzzzzzzz/imessage-voice-memo-skill.git
cd imessage-voice-memo-skill
```
2. Copy the skill to your OpenClaw workspace:
```bash
cp -r . ~/.openclaw/workspace/skills/voice-memo-imessage/
```
3. Add required environment variables to `~/.openclaw/.env`:
```bash
ELEVENLABS_API_KEY=your-key-here
BLUEBUBBLES_PASSWORD=your-bluebubbles-password
```
4. Make the script executable:
```bash
chmod +x ~/.openclaw/workspace/skills/voice-memo-imessage/send-voice-memo.sh
```
## Usage
### Command Line
```bash
./send-voice-memo.sh "Hey, how's it going?" +1234567890
```
### From OpenClaw Agent
The agent can invoke this skill to send voice responses.
## How It Works
### The Working Formula
After extensive debugging, we discovered the exact parameters needed for native voice bubbles:
```bash
# 1. Generate TTS (ElevenLabs)
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/{voice_id}" \
-d '{"text": "...", "model_id": "eleven_turbo_v2_5"}'
# 2. Convert to Opus CAF @ 24kHz (REQUIRED format for iMessage)
afconvert input.mp3 output.caf -f caff -d opus@24000 -c 1
# 3. Send via BlueBubbles with EXACT parameters
curl -X POST ".../api/v1/message/attachment" \
--for...Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...
Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.