Agent skill · Audited from source
elevenlabs
skill · calesthio/openmontageAGPL-3.0 licenceAudited 28 Oct 2026 · source cab239da7a75
Is it safe? With care — CAUTION, grade C (79/100). We read this skill's source at commit cab239da7a75 and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 1 finding, 1 critical or high. What it does: Generate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or games. Triggers include generating voiceovers, narration, dialogue, sound effects from…
Cite
Cite this page
ModelsAtlas. “elevenlabs (calesthio/openmontage)”. Retrieved 28 Oct 2026. https://modelsatlas.com/skills/calesthio/elevenlabs
2 skills are called “elevenlabs”. You are viewing calesthio/openmontage.
- calesthio/openmontage★ 73k!CAUTION
- digitalsamba/claude-code-video-toolkit★ 2.4k✓SAFE
Trust audit
Audit 0.4.1 · source read 28 Oct 2026
CAUTION means the audit found things worth knowing before you trust this skill. Grade C is shared by 84 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: instruction override, no behavioural pass.
Findings (1)
HIGHPrompt injectionprompt.hide_from_user · SKILL.md:24
- In a shared installation, never tell the user to create a `.env`, export a
- Why
- asks the agent to act without the user's knowledge
- Fix
- —
Audit 0.4.1 · source sha cab239da7a75 · 28 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishercalesthio GitHub userOwner of the repository this skill is read from
- Source foldercalesthio/openmontage/.agents/skills/elevenlabsThe exact folder we audited
- LicenceAGPL-3.0As the repository states it
- Commit pinned for this verdictcab239da7a75A new audit runs when the source changes
- Repository statusNot archivedLast push 4 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Generate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or games. Triggers include generating voiceovers, narration, dialogue, sound effects from…
---
name: elevenlabs
description: Generate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or games. Triggers include generating voiceovers, narration, dialogue, sound effects from descriptions, background music, soundtrack generation, voice cloning, or any audio synthesis task.
---
# ElevenLabs Audio Generation
## Current v4 transports
For v4, v4 Turbo, Instant Soundtracks and realtime models, read
[the October integration guide](../provider-refresh-oct23/SKILL.md).
v4 uses Text to Dialogue; Turbo uses the dialogue WebSocket.
Do not send those models to the legacy text-to-speech endpoint.
## OpenMontage provider routing
Inspect the OpenMontage registry before choosing an authentication path.
- Prefer `fal_elevenlabs_tts` when it is available. It provides Eleven v3,
Multilingual v2, and Turbo v2.5 through the centrally managed fal.ai
connection; no separate ElevenLabs credential is needed.
- Use `elevenlabs_tts` only when that direct provider is already reported as
available by the registry.
- In a shared installation, never tell the user to create a `.env`, export a
key, or paste a credential. Report missing direct-provider access as an
administrator setup request.
The direct API examples below require a centrally configured
`ELEVENLABS_API_KEY`; they are not the default path when the fal.ai provider is
available.
## Text-to-Speech
```python
from elevenlabs.client import ElevenLabs
from elevenlabs import save, VoiceSettings
import os
client = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))
audio = client.text_to_speech.convert(
text="Welcome to my video!",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_multilingual_v2",
voice_settings=VoiceSettings(
stability=0.5,
similarity_boost=0.75,
style=0.5,
speed=1.0
)
)
save(audio, "voiceover.mp3")
```
### Models
| Model | Quality | SSML Support | Notes |
|-------|---------|--------------|-------|
| `eleven_multilingual_v2` | Highest consistency | None | Stable, production-ready, 29 languages |
| `eleven_flash_v2_5` | Good | `<break>`, `<phoneme>` | Fast, supports pause/pronunciation tags |
| `eleven_turbo_v2_5` | Good | `<break>`, `<phoneme>` | Fastest latency |
| `eleven_v3` | Most expressive | None | Alpha — unreliable, needs prompt engineering |
**Choose:** multilingual_v2 for reliability, flash/turbo for SSML control, v3 for maximum expressiveness (expect retakes).
### Voice Settings by Style
| Style | stability | similarity | style | speed |
|-------|-----------|------------|-------|-------|
| Natural/professional | 0.75-0.85 | 0.9 | 0.0-0.1 | 1.0 |
| Conversational | 0.5-0.6 | 0.85 | 0.3-0.4 | 0.9-1.0 |
| Energetic/YouTuber | 0.3-0.5 | 0.75 | 0.5-0.7 | 1.0-1.1 |
### Pauses Between Sections
**With flash/turbo models:** Use SSML break tags inline:
```
...end of section. <break time="1.5s" /> Start of next...
```
Max 3 seconds per break. Excessive breaks can cause speed artifacts.
**With multilingual_v2 / v3:** No SSML support. Options:
- Paragraph breaks (blank lines) — creates ~0.3-0.5s natural pause
- Post-process with ffmpeg: split audio and insert silence
**WARNING:** `...` (ellipsis) is NOT a reliable pause — it can be vocalized as a word/sound. Do not use ellipsis as a pause mechanism.
### Pronunciation Control
**Phonetic spelling (any model):** Write words as you want them pronounced:
- `Janus` → `Jan-us`
- `nginx` → `engine-x`
- Use dashes, capitals, apostrophes to guide pronunciation
**SSML phoneme tags (flash/turbo only):**
```
<phoneme alphabet="ipa" ph="ˈdʒeɪnəs">Janus</phoneme>
```
### Iterative Workflow
1. Generate → listen → identify pronunciation/pacing issues
2. Adjust: phonetic spellings, break tags, voice settings
3. Regenerate. If pauses aren't precise enough, add silence in post with ffmpeg rather than fighting the TTS engine.
## Voice Cloning
### Instant Voice Clone
```python
with open("sample.mp3", "rb") as f:
voice = client.voices.ivc.create(
name="My Voice",
files=[f],
remove_background_noise=True
)
print(f"Voice ID: {voice.voice_id}")
```
- Use `client.voices.ivc.create()` (not `client.voices.clone()`)
- Pass file handles in binary mode (`"rb"`), not paths
- Convert m4a first: `ffmpeg -i input.m4a -codec:a libmp3lame -qscale:a 2 output.mp3`
- Multiple samples (2-3 clips) improve accuracy
- Save voice ID for reuse
**Professional Voice Clone:** Requires Creator plan+, 30+ min audio. See [reference.md](reference.md).
## Sound Effects
Max 22 seconds per generation.
```python
result = client.text_to_sound_effects.convert(
text="Thunder rumbling followed by heavy rain",
duration_seconds=10,
prompt_influence=0.3
)
with open("thunder.mp3", "wb") as f:
for chunk in result:
f.write(chunk)
```
**Prompt tips:** Be specific — "Heavy footsteps on wooden floorboards, slow and deliberate, with creaking"
## Music Generation
10 seconds to 5 minutes. Use `client.music.compose()` (not `.generate()`).
```python
result = client.music.compose(
prompt="Upbeat indie rock, catchy guitar riff, energetic drums, travel vlog",
music_length_ms=60000,
force_instrumental=True
)
with open("music.mp3", "wb") as f:
for chunk in result:
f.write(chunk)
```
**Prompt structure:** Genre, mood, instruments, tempo, use case. Add "no vocals" or use `force_instrumental=True` for background music.
## Remotion Integration
### Complete Workflow: Script to Synchronized Scene
```
VOICEOVER-SCRIPT.md → voiceover.py → public/audio/ → Remotion composition
↓ ↓ ↓ ↓
Scene narration Generate MP3 Audio files <Audio> component
with durations per scene with timing synced to scenes
```
### Step 1: Generate Per-Scene Audio
Use the toolkit's voiceover tool to generate audio for each scene:
```bash
# Generate voiceover files for each sceneExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit cab239d
git clone https://github.com/calesthio/openmontage git -C openmontage checkout cab239da7a75
The author documents no install command, so this uses the repository directly. Our verdict covers commit cab239da7a75 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- !CAUTION C 79 / 100
first audit · source
cab239da7a75
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/calesthio/elevenlabs/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
calesthio/openmontage
Swap faces in a video using AI via the HeyGen API. Use when: (1) Replacing a face in a video with another face, (2) Face swapping from a source image onto a target video, (3) Creating personalized videos by swapping in…
calesthio/openmontage
Video and audio processing with FFmpeg. Use for format conversion, resizing, compression, audio extraction, and preparing assets for Remotion. Triggers include converting GIF to MP4, resizing video, extracting audio,…
calesthio/openmontage
Generate Mandarin and multilingual narration with Volcengine Doubao Speech 2.0. Use when creating Chinese voiceovers, when the user prefers Doubao/Volcengine/火山引擎/豆包 TTS, or when narration needs character-level…
calesthio/openmontage
Creating interactive data visualisations using d3.js. This skill should be used when creating custom charts, graphs, network diagrams, geographic visualisations, or any complex SVG-based data visualisation that requires…
calesthio/openmontage
Create videos from a text prompt using HeyGen's Video Agent. Use when: (1) Creating a video from a description or idea, (2) Generating explainer, demo, or marketing videos from a prompt, (3) Making a video without…
calesthio/openmontage
Review local character animation with schema checks, Playwright browser previews, frame sampling, and FFmpeg/ffprobe final output checks.
Add this badge to your README
[](https://modelsatlas.com/skills/calesthio/elevenlabs/)
<a href="https://modelsatlas.com/skills/calesthio/elevenlabs/"><img src="https://modelsatlas.com/skills/calesthio/elevenlabs/badge.svg" alt="ModelsAtlas: CAUTION C"></a>
Questions about elevenlabs
What does the elevenlabs skill do?
Is elevenlabs safe to install?
What can elevenlabs access on my machine?
How current is this page?
Sources
- github.com/calesthio/openmontage/tree/main/.agents/skills/eleven — the audited source at commit cab239da7a75 and every finding aboveObserved · 28 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the elevenlabs skill do?
- Is elevenlabs safe to install?
- What can elevenlabs access on my machine?