ElevenLabs: Eleven v4 Turbo
Eleven v4 Turbo는 실시간 대화, 음성 어시스턴트, 대화형 캐릭터를 위해 텍스트를 표현력 있는 음성으로 바꿉니다. v4 계열의 감정 범위와 오디오 지시를 유지하면서 연결당 등록 목소리 하나를 중심으로 한 스트리밍 규격을 사용합니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
Eleven v4 Turbo는 실시간 대화와 음성 에이전트 응답을 위해 설계된 ElevenLabs의 표현력 있는 음성 합성 버전입니다. 텍스트를 받아 음성 오디오를 반환하며 v4 계열의 감정 범위를 상호작용 워크플로에 적용합니다. 제작사는 제작 콘텐츠와 내레이션에 맞춰 조정된 일반 v4와 목적을 구분합니다. 지원 응답, 어시스턴트 설명, 대화형 캐릭터 대사가 Turbo의 명시된 용도입니다.
제작사의 양방향 스트리밍 워크플로는 텍스트가 생성되는 동안 이를 받고 전체 발화가 도착하기 전에 오디오를 반환할 수 있습니다. 따라서 문단이 완성될 때까지 기다리지 않고 말하기를 시작할 수 있습니다. 이는 텍스트 오디오 변환 단계이며 응답의 단어는 합성 모델에 제공됩니다. 통화자의 말을 듣고, 어떤 행동을 할지 판단하고, 끼어들기를 감지하는 것은 주변 음성 에이전트 애플리케이션의 별도 기능입니다.
문서화된 Text to Dialogue WebSocket 규격은 v4 Turbo에 정확히 하나의 목소리를 등록합니다. 이는 최대 10개 목소리를 등록하는 v4 규격과 다릅니다. 하나의 연결에서 선택한 목소리로 연속된 대화 차례를 처리할 수 있고, 새 차례 신호는 차례 경계에서 운율을 초기화합니다. 어시스턴트에 명확한 화자 정체성을 하나 준비하고 대화의 내용과 어조가 바뀌어도 유지하세요.
스트리밍에도 유용한 음성 세그먼트를 만들 만큼의 텍스트가 필요합니다. 안내는 부분 오디오가 시작되기 전에 제작사 버퍼에 약 40자와 8단어가 필요하다고 설명합니다. 더 짧은 버퍼는 연결을 종료하지 않고 명시적으로 플러시할 수 있습니다. 오디오는 Base64로 인코딩된 청크로 도착하며 애플리케이션이 이를 디코딩해 재생하거나 파일로 모을 수 있습니다. 요청되었고 제공 가능한 경우 청크에 정렬 정보를 붙일 수 있습니다. 이는 제작사의 워크플로 세부 사항이며 개별 발화의 고정 지연이나 정확한 길이를 보장하지 않습니다.
오디오 태그와 대화 맥락은 표현을 유도합니다. 같은 목소리를 유지하면서 확인은 기쁘게, 설명은 주의 깊게, 정정은 차분하게 전달할 수 있습니다. 들려줄 표현 지시는 관련 단어 가까이에 두세요. 예를 들어 “[warm] 그 단계가 완료되었습니다. [pause] 다음 항목을 확인해 보겠습니다.”라고 쓸 수 있습니다. 문구 자체가 이미 올바른 결과를 전달해야 합니다. 태그는 빠진 사실 정보를 제공하는 것이 아니라 결과가 들리는 방식을 조절합니다.
v4 모델 계열은 90개가 넘는 언어를 지원하며 문서상의 예에는 영어, 프랑스어, 독일어, 일본어, 스페인어, 포르투갈어, 러시아어가 포함됩니다. ElevenLabs는 대화 차례와 언어 사이에서 안정적인 화자 정체성을 설명하며 v4와 v4 Turbo 모두에서 Professional Voice Clones를 지원합니다. 목소리 준비나 복제는 응답 합성과 별도의 단계입니다. 목소리와 목표 언어를 명시적으로 선택하고 대화 전반에서 이름, 용어, 원하는 발화 형태를 일관되게 유지하세요.
ElevenLabs에 명시된 형식 옵션에는 일반 청취용 MP3, 제작 오디오용 비압축 PCM 또는 WAV, 전화용 μ-law가 포함됩니다. 선택한 출력 형식이 제작사 워크플로에서 사용하는 샘플 레이트와 인코딩을 결정합니다. 어시스턴트에서는 대본에 인코딩을 지정하라고 요구하지 말고 재생 환경에 맞는 형식을 선택하세요. 중요한 이름과 약어를 선택한 목소리로 검토하고 필요한 발화 문구를 텍스트에 명확히 쓰세요. 제작사는 두 v4 변형의 목소리 설정으로 Stability와 Similarity를 설명합니다. 이 규격에서는 Style 및 Speed 슬라이더를 사용할 수 없습니다. 발화 텍스트와 오디오 지시로 표현을 조절하세요.
실용적인 대화 요구사항은 결과 하나와 명확한 다음 단계 하나를 포함한 짧은 응답으로 시작합니다. 예를 들어 “문서를 받았음을 확인하고 아직 필요한 세부 사항 하나를 설명하세요. 차분하고 친절하게 말하고 문서 이름을 정확히 유지하세요.”라고 쓸 수 있습니다. 의미 있는 경계에서 긴 답변을 나누고 주변 대화 맥락을 유지하세요. 명확성, 각 대화 차례의 시작과 끝, 감정이 메시지와 맞는지를 평가하세요. 결과물은 입력 텍스트와 선택한 목소리의 스트리밍 또는 수집된 음성이며 애플리케이션의 추론 및 듣기 단계와 구분됩니다.
Ailoot Ultra · 음성 합성 POST /v1/audio/speech elevenlabs/eleven-v4-turbo
elevenlabs/eleven-v4-turbo시작하기
Eleven v4 Turbo는 실시간 대화, 음성 어시스턴트, 대화형 캐릭터를 위해 텍스트를 표현력 있는 음성으로 바꿉니다. v4 계열의 감정 범위와 오디오 지시를 유지하면서 연결당 등록 목소리 하나를 중심으로 한 스트리밍 규격을 사용합니다.
- 허용 입력
- 텍스트
- 결과
- 오디오
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 음성 합성 POST /v1/audio/speech
- 입력
text- 출력
audio- 출력 형식
- mp3
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 elevenlabs/eleven-v4-turbo | 기본값— |
필드input | 유형string | 요건필수 | 값과 한도 최소 길이: 1 최대 길이: 10,000 단위: Unicode 문자 | 기본값— |
필드voice | 유형string | 요건필수 | 값과 한도 george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will | 기본값— |
필드response_format | 유형string | 요건필수 | 값과 한도 mp3 | 기본값— |
입력 자료 조합
text_to_speech · 필수: input
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, input, voice, response_format |
매개변수voice_ids | 명세george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will |
매개변수response_format | 명세mp3 |
매개변수max_input_characters | 명세10000 |
매개변수other_options | 명세false |
매개변수input | 명세정확한 UTF-8 텍스트; 정규화 없이 계산한 유니코드 문자 수 |
매개변수material_types | 명세text |
수명 주기: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 실제로 반환된 task_id 또는 미디어 라이브러리 기록
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
이 모델 프로필에 있는 정확한 음성을 선택하세요.
입력 문자 수와 오디오 초는 서로 다른 측정 단위입니다.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 미지정 빠른 모드를 선택한 경우
- Flex 모드
- 미지정 flex 모드를 선택한 경우
- 최대 추론 수준
- 미지정 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.
| 설정 | 요금표 | 과금 단위 | 요금 |
|---|---|---|---|
| 설정기본 토큰 요금 | 요금표기본 요금 | 과금 단위— | 요금 입력 · 입력 토큰 — / 1K 토큰 출력 · 출력 토큰 — / 1K 토큰 입력 · 캐시 읽기 — / 1K 토큰 입력 · 캐시 쓰기 — / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
| 설정입력 문자 | 요금표— | 과금 단위입력 문자당 | 요금 입력 · 입력 문자 $0.00008 입력 문자당 |
참조 요금 상세 정보
모델 수준의 참조 요금표는 메서드 선택, 견적 또는 요금을 변경하지 않습니다. 실제 과금에는 선택한 Ailoot 메서드 요금이 적용됩니다.
ElevenLabs: Eleven v4 Turbo
설정별 가격
| 설정 | 과금 조건 | 요금 |
|---|---|---|
| 설정ElevenLabs: Eleven v4 Turbo · 기본 설정 | 과금 조건기본 설정 | 요금 입력 · 입력 문자 수 US$0.00004 입력 문자당 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 음성 합성
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "elevenlabs/eleven-v4-turbo", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["george", "sarah", "adam", "alice", "bella", "bill", "brian", "callum", "charlie", "chris", "daniel", "eric", "harry", "jessica", "laura", "liam", "lily", "matilda", "river", "roger", "will"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
결과 수신 및 저장
Ailoot Ultra · 음성 합성
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
기타 콘텐츠 조회
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
완료된 결과 모두 보관
반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.
바이너리 결과 전체와 헤더를 보관하세요. JSON 또는 여러 출력이 반환되면 모든 데이터 항목을 보관하고 실제로 반환된 서명된 자산 URL을 각각 조회하세요.
원래 응답을 확인해야 할 경우
다시 제출하지 말고 정산 대조를 위해 최초 operation_id/X-Client-Request-ID를 보관하세요. 전용 오디오 폴링 라우트는 없습니다.
응답 필드
| 필드 | 유형 |
|---|---|
필드binary audio | 유형bytes |
필드response headers | 유형headers |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음 | 다음 단계새 생성 요청 전에 표시된 필드를 수정하세요. |
응답server_error | 조건반환된 응답에 작업 또는 결과 확인이 필요하다고 표시되어 있습니다 | 다음 단계최초로 반환된 작업/태스크 ID, 요청 헤더와 응답을 보관하고, 지원되는 조회 방식으로 해당 최초 작업을 계속 조회하세요. 생성 요청을 다시 제출하지 마세요. |
별칭
모델 별칭
Ailoot Ultra elevenlabs/eleven-v4-turbo
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · ElevenLabs: Eleven v4 Turbo
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/audio/speech·elevenlabs/eleven-v4-turbo:text→audio- 요청은 어떤 필드를 사용하나요?
POST /v1/audio/speech·elevenlabs/eleven-v4-turbo:model,input,voice,response_format- 어떤 제한이 적용되나요?
POST /v1/audio/speech·elevenlabs/eleven-v4-turbo:input.maximum_length:10000