# eachlabs-voice-audio

A skill that wires EachLabs voice and audio models into your agent: speech synthesis, transcription, speaker separation and voice conversion.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 308 installs · ★ 43
- Author: eachlabs
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/eachlabs/skills/tree/HEAD/skills/eachlabs-voice-audio/SKILL.md
- Updated: 2026-10-07
- HTML: https://affpapa.org/en/nevibecode/skills/eachlabs-voice-audio

## What it does

The skill documents the EachLabs Predictions API flow. Your agent validates a model by slug with `GET https://api.eachlabs.ai/v1/model?slug=<slug>` to read the exact `request_schema`, submits a job to `POST https://api.eachlabs.ai/v1/prediction` at version `"0.0.1"`, then polls `GET https://api.eachlabs.ai/v1/prediction/{id}` until the status reads `"success"` or `"failed"`.

Model tables cover three areas. Speech synthesis includes ElevenLabs TTS, a variant that returns word timings, multi-speaker dialogue, sound effects, Kling V1 TTS, Kokoro 82M and Stable Audio 2.5. Transcription lists ElevenLabs Scribe v2, Wizper with timestamps, Whisper, and Whisper Diarization for telling speakers apart. Voice work spans RVC v2, training a custom model with `train-rvc`, ElevenLabs Voice Clone and Voice Changer, XTTS v2, Open Voice, Chatterbox S2S and video dubbing. Two utilities round it out: merging audio into video with FFmpeg and format conversion.

You need an EachLabs key in the `EACHLABS_API_KEY` environment variable; it travels in the `X-API-Key` header. RVC voice conversion pulls a model from `custom_rvc_model_download_url`, and the skill itself warns to accept only trusted references supplied by the user rather than fetching from arbitrary addresses. No key means no calls go through, so set it before the first run.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add eachlabs/skills --skill eachlabs-voice-audio -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/eachlabs-voice-audio/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/eachlabs-voice-audio/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add eachlabs/skills --skill eachlabs-voice-audio -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/eachlabs-voice-audio/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add eachlabs/skills --skill eachlabs-voice-audio -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/eachlabs-voice-audio/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install eachlabs/skills eachlabs-voice-audio
```

2. **Manually: put the files in place**
- File: `.github/skills/eachlabs-voice-audio/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add eachlabs/skills --skill eachlabs-voice-audio -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/eachlabs/skills --path skills/eachlabs-voice-audio
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/eachlabs-voice-audio/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add eachlabs/skills --skill eachlabs-voice-audio -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/eachlabs/skills/tree/HEAD/skills/eachlabs-voice-audio/SKILL.md

## When to use it
- narrate a product video with a chosen voice
- transcribe a call recording and label who spoke
- shift a vocal take into a different timbre
- train a voice model on your own samples
- lay a narration track over existing footage

## Example prompts
- Turn `intro.txt` into speech with `elevenlabs-text-to-speech` and save the mp3
- Transcribe `meeting.mp3` with `whisper-diarization`, there are three speakers
- Run voice conversion on `vocals.wav` with `rvc-v2` using my custom model

## Similar
- [skill-creator](https://affpapa.org/en/nevibecode/skills/skill-creator.md) — skill · 414180 installs
- [writing-for-agents](https://affpapa.org/en/nevibecode/skills/writing-for-agents.md) — skill · 466719 installs
- [media-use](https://affpapa.org/en/nevibecode/skills/media-use.md) — skill · 1100000 installs
- [mcp-builder](https://affpapa.org/en/nevibecode/skills/mcp-builder.md) — skill · 130949 installs
- [subagent-driven-development](https://affpapa.org/en/nevibecode/skills/subagent-driven-development.md) — skill · 237746 installs
- [orchestration](https://affpapa.org/en/nevibecode/skills/orchestration.md) — skill · 349800 installs

From the same set: [eachlabs/skills](https://affpapa.org/en/nevibecode/by/eachlabs/skills.md) — 36 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
