SuperAPI AI Directory

media-audio-gen

Agents & models

View repository

Updated 10-15 21:36

About this skill

media-audio-gen

Overview

A unified skill for AI-based audio generation. It uses ElevenLabs' high-performance TTS engine to generate natural voices in 32 languages (including Korean), and clones personal/brand voices from just a 1-minute sample. It also supports multilingual video dubbing (automatic lip-sync), sound effect generation, and building real-time conversational AI voice agents.

Key Features

  • TTS (Text-to-Speech): Natural voice generation in 32 languages (optimized for Korean)
  • Voice Cloning: Clone personal/brand voices from a 1-minute sample
  • Multilingual Dubbing: Korean video → English/Japanese etc. (automatic lip-sync adjustment)
  • Sound Effect Generation: Sound effects for movies, games, and content
  • ConvAI: Real-time conversational voice agent (chatbot, AI agent)

Trigger Keywords

Use this skill for the following requests:

  • Voice generation related: "make me a voice", "TTS", "speech synthesis", "narration recording", "AI voice actor"
  • Voice Cloning: "clone my voice", "create a brand voice", "voice cloning", "train on a sample voice"
  • Dubbing related: "English dubbing", "Japanese translation + recording", "foreign language subtitles + voice", "multilingual version"
  • Sound Effects: "generate sound effects", "sound effect", "background sound", "video sound"
  • Conversational AI: "AI agent", "voicebot", "real-time voice conversation", "automated phone response"

Workflow

1. Basic TTS (Text-to-Speech)

1. 텍스트 입력 (한국/영어/32개국어)
2. 보이스 프리셋 선택 또는 커스텀 보이스 ID 지정
3. 모델 선택 (eleven_multilingual_v2 기본)
4. 합성 전 견적 확인  ← 아래 §유료 합성 견적 게이트
5. 오디오 생성 (MP3/WAV)

1-1. Paid synthesis quote gate (common to TTS, dubbing, and sound effects)

ElevenLabs quota is consumed by character count and does not come back. A single long narration can use up the entire free plan monthly limit (10,000 characters). Therefore, before synthesis, show how much it will cost and get approval.

  • [HARD] Before any synthesis that consumes credits, show a quote and get approval. Free calls such as listing voices or checking remaining quota are not subject to this.
  • [HARD] Do not summarize; show exactly what will actually be passed through:
What to show TTS Dubbing Sound Effects
The full source textto be synthesized and the character count ✓ ✓ (both source and translated text) Prompt
Voice name/ID (and whether it is a cloned voice) ✓ ✓ —
Model (eleven_multilingual_v2 등) ✓ ✓ —
Target language list — ✓ —
Number of outputs · length ✓ ✓ ✓
Characters consumed / quotaand remaining ✓ ✓ ✓
  • [HARD] If there are multiple target languages, show the consumed amount and total for each language together. Showing only the total makes it impossible to judge which language to drop. Dubbing scales up by the number of languages.
  • [HARD] Korean narration passes through ⟨Korean review 3 stages⟩ before synthesis. If you fix it after it is locked in as audio, it uses up the quota again.
  moai-coworker:ai-slop-reviewer     1차 일반 슬롭 정리
→ moai-writer:korean-spell-check     2차 맞춤법 — 제안 수집 (미공개 정보가 섞였으면 건너뜀)
→ moai-writer:korean-humanize        3차 정밀 윤문 + 맞춤법 반영 + Phase 6 최종 검수

After the review, count the characters again — the review changes sentences, so the previous estimate is invalid.

The approval options are structured like this:

Options 뜻
Synthesize as is (recommended) Execute exactly as the estimate shown
Rewrite / reduce languages or count Refine the source text or narrow the scope and re-estimate
Cancel Exit without synthesizing. No quota consumed
  • [HARD] Do not automatically re-synthesize even on failure. On an ambiguous failure (timeout, no response), do not retry. The absence of a success signal is not evidence that no quota was consumed, and a blind retry submits the same sentence twice. This skill does not assume there is a means to check whether quota was consumed — if a tool to query the remaining quota is actually exposed, verify with it; if not, ask the user to check directly in the ElevenLabs dashboard (Usage). Either way, only after receiving confirmation that no quota was consumed run it again.
  • [HARD] Approve bulk batches batch by batch. If processing multiple paragraphs or multiple languages in one request, rather than asking per item, the full plan + maximum total consumptionis approved at once.

2. Voice cloning

A voice is irreversible personal information. Once uploaded, the cloned voice remains in the account, and anyone with the API key can create speech with that voice — putting words the voice owner never said into that person's voice. So this skill before uploading stops and obtains approval. Without approval, it does not upload the sample.

Step 2-1: Pre-upload approval gate

  • [HARD] Approval is obtained via the path in §Approval request contract. It does not ask in prose, "Shall I upload?" — since uploading is irreversible, the user makes an explicit choice. Do not skip the gate on the grounds that you cannot ask — path selection follows §Approval request contract.
  • [HARD] Do not summarize; show all the arguments actually being passed exactly as they are. All six of the following are presented without omission. If even one is missing, the user ends up approving without knowing what is being uploaded.
What will be shown Why it is needed
Sample filename · file size · playback length Confirm at the file level which audio source is being sent out
Voice name · description It will remain under this name in the account's voice list
The ElevenLabs account it will be saved to Whether it is a personal account or a company/shared account
Retention and sharing scope Retained within the account, cannot be downloaded as a file, External services holding the API key can also generate speech with this voice
Credits consumed and plan requirements Cloning is a paid plan feature
Who the voice owner is This leads to the consent confirmation items below

The approval options are structured as follows:

Options 뜻
Clone as is (recommended) Upload exactly the parameters shown above → create voice
Change sample/name Edit the parameters and pass through the gate again
Cancel Exit without uploading anything
  • [HARD] The voice owner's consent is confirmed as a separate item. "May this file be uploaded" and "May this voice be cloned" are different questions. A single file approval is not treated as having obtained consent as well.
Options 뜻
It is my own voice (recommended) Your own voice — proceed as is
It is a third party's voice and consent has been obtained Leave the basis for consent (written, recorded, contract, etc.) in one line and proceed
Consent has not yet been obtained Stop — do not upload until consent is secured

ElevenLabs likewise asks you to confirm that you "have the right and consent to clone" before saving a clone. This item is asking the user this confirmation first, before it reaches the service — not as a checkbox to click through once, but as a question that makes them state the basis.

Step 2-2: Execute cloning (upon approval)

1. 승인된 참조 오디오 업로드 (1~2분 권장, 무음 구간 최소화)
2. 승인된 보이스 이름/설명으로 등록
3. 클로닝 실행 → 보이스 ID 발급
4. TTS에서 클로닝된 보이스 사용
  • [HARD] Do not automatically retry even on failure. If cloning fails ambiguously (timeout · no response), stop without retrying. The absence of a success signal is not evidence that the voice was not created. Re-uploading without confirmation leaves the same voice twice in the account and spends credits twice.
  • After an ambiguous failure, query the account's voice list to first confirm whether it was actually created. If there is no means to query, ask the user to check directly in the ElevenLabs dashboard (Voices), and only after receiving the user's confirmation that it was not created runs it again. The skill does not decide on its own.

3. Multilingual dubbing

Dubbing is also voice cloning. ElevenLabs dubbing makes the original speaker speak in another language while preserving the characteristics of their voice — the result is foreign-language speech the person never gave, coming out in that person's voice. It carries the same risks as voice cloning, and is actually more dangerous: for cloning, ElevenLabs verifies the "right and consent to clone" before saving, but the dubbing path has no such verification.

  • [HARD] If the speaker in the video is not the user themselves, pass through the Step 2-1 approval gate as-is before uploading. Change only the arguments to fit dubbing — the original video filename and length instead of the sample filename, the target language list instead of the voice name, and who the speaker in the video is and whether their consent was obtainedare checked with the same 3 options.
  • If the speaker is the user themselves, select "It's my voice" on the first question and proceed as-is.
  • [HARD] Do not dub videos featuring third parties such as interviewees, customers, or event attendees as speakers without consent. The consent obtained when filming the video is consent to "film and publish," not consent to "synthesize the voice into another language."
1. 원본 비디오 업로드  ← 제3자 화자면 2-1단계 게이트 먼저
2. 원본 언어 감지 (예: 한국어)
3. 타겟 언어 선택 (예: 영어, 일본어, 스페인어)
4. 언어별 소진분 견적 확인  ← 1-1단계 견적 게이트 (언어 수만큼 배수)
5. 자동 번역 + 보이스 생성 + 립싱크 매칭
6. 더빙된 비디오 다운로드

Dubbing both gates passes through — speaker consent (Step 2-1) and quota estimate (Step 1-1). The former is for the voice's owner, and the latter is for the account owner.

4. Sound effect generation

1. 효과음 설명 프롬프트 작성 (예: "천둥소리, 폭풍우")
2. 지속시간 설정 (1~30초)
3. 견적 확인  ← 1-1단계 견적 게이트 (개수 × 길이만큼 소진)
4. 생성 및 다운로드

When requesting multiple at once (e.g., 3 game sound effects), approval is obtained not individually but as a bundle estimate.


Usage examples

Example 1: Korean narration generation

"이 블로그 글을 한국어 나레이션으로 읽어줘.
여성 차분한 톤으로, 3분 분량."
→ 보이스: Rachel (여성 차분)
→ 모델: eleven_multilingual_v2
→ 출력: MP3 파일

Example 2: Brand voice cloning (including approval gate)

"우리 CEO의 1분 연설 음원이 있어.
이 목소리를 클로닝해서 신제품 발표 나레이션을 만들어줘."

→ 업로드 전 승인 게이트 (AskUserQuestion)
   샘플: ceo_sample.wav · 4.2MB · 1분 12초
   보이스 이름: "CEO 브랜드 보이스"
   저장 계정: <ElevenLabs 계정 식별자>
   보존·공유: 계정 내 보존 · 파일 다운로드 불가
              · API 키를 가진 외부 서비스도 이 보이스로 생성 가능
   크레딧: <클로닝 소진분> (유료 플랜 필요)
   목소리 주인: 제3자 (CEO)

→ 동의 확인 (별도 문항)
   "제3자 목소리이고 동의를 받았다" 선택 + 동의 근거 한 줄
   → 동의 미확보 선택 시 여기서 중단, 업로드하지 않음

→ 승인 후 실행
→ 출력: 클로닝된 보이스 ID + 나레이션 MP3

The CEO's voice belongs to the CEO, not the account owner. If it is your own voice, select "It's my voice" on the first question and it will proceed as-is.

Example 3: English dubbing of a YouTube video

"이 한국어 교육 영상을 영어와 일본어로 더빙해줘.
원본 자막은 유지하고, 립싱크도 맞춰줘."
→ 입력: korean_tutorial.mp4
→ 출력: english_dub.mp4, japanese_dub.mp4

Example 4: Sound effect generation

"판타지 게임용 마법 시전 효과음 3개 만들어줘.
1. 화염구 (2초)
2. 얼음 폭발 (3초)
3. 치유 빛 (2.5초)"
→ 출력: fireball.wav, ice_explosion.wav, heal_light.wav

Output format

TTS output

  • File format: MP3 (default), WAV, FLAC
  • Sample rate: 44.1kHz, 48kHz
  • Channels: Mono/stereo selectable
  • Maximum length: Unlimited (character count limited by usage plan)

Voice cloning

  • Voice ID: voices/xxxxx format
  • Retention: Cloned voices remain within the account. They cannot be downloaded as audio files.
  • Sharing scope: Can be reused in other projects by voice ID, and external services with the API key for that account can also generate speech with this voice. We will tell you this range as-is on the cloning approval screen (Workflow Step 2-1).
  • Delete: Voices that are no longer used are deleted from the ElevenLabs dashboard (Voices). If the voice owner requests withdrawal, the principle is to delete it.

Dubbing output

  • Video format: MP4 (maintain original quality)
  • Audio track: Add multilingual audio tracks
  • Subtitles: Automatically generate SRT subtitle files
  • Sync: Automatic lip-sync adjustment (±100ms precision)

Notes

API key required

ELEVENLABS_API_KEY Environment variables are required.

  1. elevenlabs.io Sign up
  2. Settings → API Keys → Create API Key
  3. .env or register in system environment variables:
    export ELEVENLABS_API_KEY="your_api_key_here"
    

Pricing guide

Plan Price Character count Use case
Free $0 10,000자/월 Testing, personal projects
Starter $5/월 30,000자/월 Small-scale content
Creator $22/월 100,000자/월 YouTubers, freelancers
Pro $99/월 500,000자/월 App integration, commercial use

Limitations

  • Voice cloning: Requires at least 1 minute of sample (minimize silent segments)
  • Dubbing: Videos over 10 minutes require separate consultation
  • Commercial use: Requires Pro plan or higher (check license terms)
  • Rate limit: Free plan has RPM (requests per minute) limits

Model selection guide

Model Character Purpose Notes
eleven_multilingual_v2 Highest quality Branding, advertising, narration Korean optimized, recommended
eleven_flash_v2_5 Ultra-low latency Real-time conversation, games Under 200ms
eleven_turbo_v2_5 Cost efficient Long-form narration, bulk generation 50% cheaper

Basic (ElevenLabs prebuilt) voice preset — Korean synthesis possible with eleven_multilingual_v2

Code Character 톤 Use case
Rachel Female calm Narrator Documentary, news, education
Antoni Male friendly Conversational Interview, podcast
Bella Female lively Energetic Advertising, promotional videos
Callum Male neutral Professional/narrator Reports, presentations

Approval request contract (runtime-neutral)

[HARD] The gate of this skill is not tied to a specific tool name. AskUserQuestionis only a means of the Claude runtime, and other runtimes including Codex do not have that tool. If the contract is written in terms of tool names, then in runtimes without that tool the gate becomes permanent blockerbecomes, and every task that requires approval simply stops. That is not safety, it is a breakdown.

Approval is obtained in the order below. From the top, the first actually possibleis used.

The definition of approval is not the means but the outcome: showing the approval document to the user as-is and receiving an explicit response to it. Below are the paths that produce that outcome, and the first possible one from the top is used.

Rank Path Condition
1 The runtime's structured question tool (AskUserQuestion 등) when that tool is exposed in the current session
2 Present the approval document through normal conversation and receive the response on the next turn When in direct conversation with the user. Even without the tool, this path is always open
3 Return a structured blocker → the parent orchestrator asks When running as a subagent

[HARD] The runtime's tool execution permission prompt is not approval. That prompt only asks "may this tool be called", and does not display the arguments, estimates, and consent items that the gate was supposed to show. Only when the entire approval document and the options are actually displayed is it recognized as path 2.

[HARD] Because path 2 exists, the situation of "having no means to ask" effectively does not exist. Wherever conversation is possible, the approval document can always be presented in writing. fail-closed applies only to fully unattended execution where neither conversation nor returning a blocker is possible— only in that case does it not execute and instead stops.

[HARD] When using path 3, the blocker must itself be an approval request. If the parent does not know what to ask, it cannot ask back, and then a deadlock occurs. Include all of the following:

  • The action to be approved, in one line (what is irreversible / how much money goes out)
  • All arguments required by the gate (values not summarized)
  • List of options — in a form the parent can present to the user as-is
  • How to resume — upon receiving which answer, what is executed next

[HARD] In unattended execution where all three paths are impossible, do not execute (fail-closed). Having no means to ask does not mean approval was obtained. In this case, record "could not proceed because there was no means of approval" and stop — do not proceed silently. Conversely, stopping because there is no tool even though conversation is possible is also wrong. Use path 2.

This contract is CLAUDE.local.md the gate-side application of §Generality principle (identical behavior across 2 OS types × 2 runtime types). A gate that runs on only one runtime is considered incomplete.


Related skills

  • media-higgsfield-video: Combine TTS audio with AI video
  • media-higgsfield-image: Generate images for audio content such as album art and thumbnails
  • moai-marketer:content-blog: Convert blog posts → narration scripts
  • moai-marketer:content-copywriting: Ad copy → generate ad voice

MCP server setup

This skill ElevenLabs MCP (stdio) is used.

{
  "elevenlabs": {
    "command": "uvx",
    "args": ["elevenlabs-mcp"],
    "env": {
      "ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}"
    }
  }
}

MCP server registration procedure: project .mcp.jsonafter adding the server settings, complete the required authentication (API key or OAuth).