tts-1-hd
TTS-1 HD는 선택 가능한 사전 설정 목소리, 속도, 6가지 출력 형식으로 작성된 텍스트를 더 높은 품질의 음성 오디오로 변환합니다. OpenAI는 HD를 저지연 TTS-1과 달리 내레이션 품질 중심으로 소개합니다. 완성된 낭독, 학습 자료, 편집된 음성 문단에 유용합니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
TTS-1 HD는 오디오 품질에 최적화된 OpenAI의 텍스트 음성 변환 모델입니다. 준비된 대본이 입력이고 음성 오디오가 출력입니다. HD는 속도를 중시하는 TTS-1과 구분됩니다. OpenAI는 TTS-1이 지연은 낮지만 품질도 낮다고 설명합니다. 따라서 가능한 한 빨리 재생을 시작하는 것보다 완성된 음성 트랙이 더 중요할 때 HD는 유용한 내레이션 선택입니다. 작성된 기사, 수업 문단, 다듬은 설명을 음성 자산으로 만들 수 있습니다.
핵심 입력은 선택한 모델, 정확한 텍스트, 목소리입니다. 제조사의 음성 참조는 요청당 대본을 4,096자로 제한합니다. 이는 작성된 입력 길이이며 오디오 시간 보장이 아닙니다. 들었을 때 이해할 수 있는 대본을 준비하세요. 모호한 약어를 풀어 쓰고 수량을 어떻게 읽을지 정하며 각 문단의 내용을 일관되게 유지하세요. 긴 수업이나 기사는 의미 있는 경계에서 텍스트를 나누고 결과 문단을 사용할 순서를 보존하세요.
현재 OpenAI 안내는 TTS-1 HD의 내장 선택지 9개를 제시합니다. alloy, ash, coral, echo, fable, onyx, nova, sage, shimmer입니다. 목소리는 영어에 최적화되어 있지만 텍스트 음성 변환 안내는 필요한 언어의 텍스트를 제공해 여러 언어로 음성을 생성하는 것을 지원합니다. 최종 자료에 등장할 이름과 전문 어휘를 포함한 같은 대표 대본으로 목소리를 비교하는 것이 가장 유용합니다. 여러 클립이 하나의 내레이션을 구성할 때 목소리와 속도를 일관되게 유지하세요.
기본 출력은 MP3입니다. Opus와 AAC는 다른 압축 오디오 형식이며, FLAC는 무손실 압축, WAV는 비압축 오디오를 제공합니다. PCM은 파일 헤더 없이 원시 24 kHz, 16비트 부호 있는 리틀엔디언 샘플을 제공합니다. 이러한 선택은 작은 배포용 파일, 스트리밍 자산, 편집 워크플로에 넘길 오디오 등 서로 다른 용도에 쓰입니다. OpenAI는 디코딩 부담이 중요한 경우 더 빠른 응답을 위해 WAV나 PCM을 권장합니다. 파일 형식을 선택한다고 대본이 바뀌거나 별도의 목소리 제어 모델이 추가되지는 않습니다.
음성은 청크로 전달될 수 있어 완전한 오디오 파일이 준비되기 전에 플레이어가 재생을 시작할 수 있습니다. 이는 텍스트 오디오 변환 스트리밍이며 양방향 음성 대화를 성립시키는 것은 아닙니다. 참조는 0.25~4.0의 속도 값을 지원하며 기본값은 1.0입니다. 별도의 자연어 instructions 필드는 TTS-1 HD에서 작동하지 않으며 이 모델은 SSE 이벤트 출력을 지원하지 않습니다. 문서화된 제어는 대본, 사전 설정 목소리, 속도, 출력 형식입니다. 새로운 음성 모델의 프롬프트 기반 억양이나 감정 지시 인터페이스와는 다릅니다.
언어 안내는 러시아어, 우크라이나어, 영어, 프랑스어, 독일어, 스페인어, 포르투갈어, 이탈리아어, 중국어, 일본어, 한국어, 아랍어, 힌디어, 카자흐어 등을 지원 언어로 포함합니다. 목표 언어로 대본을 준비하세요. 합성은 해당 텍스트를 표현하는 것이며 번역하지 않습니다. 학습 콘텐츠에서는 정의와 구간 전환을 명확히 하세요. 설명용 오디오 문단에는 정확한 메시지와 반드시 들려야 할 이름을 준비하세요. 특정 언어와 어휘의 소리를 평가할 때 목소리가 영어에 최적화되어 있다는 점은 여전히 중요합니다.
실용적인 HD 워크플로는 들어 보고 검토한 뒤 완성 자료에 넣을 오디오 문단을 만듭니다. 모든 문장이 표현되었는지, 이름과 수량이 허용 가능한 방식으로 발음되었는지, 선택한 속도가 이해를 돕는지 확인하세요. 수정 사항을 해당 문단까지 추적할 수 있도록 작성된 대본을 오디오와 함께 보관하세요. OpenAI는 생성된 목소리가 인공 음성이라는 사실을 명확히 공개하도록 요구합니다. HD는 품질을 중시하는 TTS 계열을 설명합니다. 그 자체로 정확한 타이밍, 사용자 지정 화자 정체성, 다른 모델의 표현 제어를 약속하지는 않습니다.
Ailoot Ultra · 음성 합성 POST /v1/audio/speech openai/tts-1-hd
openai/tts-1-hd시작하기
TTS-1 HD는 선택 가능한 사전 설정 목소리, 속도, 6가지 출력 형식으로 작성된 텍스트를 더 높은 품질의 음성 오디오로 변환합니다. OpenAI는 HD를 저지연 TTS-1과 달리 내레이션 품질 중심으로 소개합니다. 완성된 낭독, 학습 자료, 편집된 음성 문단에 유용합니다.
- 허용 입력
- 텍스트
- 결과
- 오디오
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 음성 합성 POST /v1/audio/speech
- 입력
text- 출력
audio- 출력 형식
- mp3
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 openai/tts-1-hd | 기본값— |
필드input | 유형string | 요건필수 | 값과 한도 최소 길이: 1 최대 길이: 4,096 단위: Unicode 문자 | 기본값— |
필드voice | 유형string | 요건필수 | 값과 한도 alloy | 기본값— |
입력 자료 조합
text_to_speech · 필수: input
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, input, voice |
매개변수voice_ids | 명세alloy |
매개변수max_input_characters | 명세4096 |
매개변수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 토큰 |
| 설정Ultra | 요금표— | 과금 대상 수량한자를 포함해 Unicode 코드 포인트 하나를 문자 하나로 계산합니다. | 과금 수량— | 과금 단위입력 문자 1K개당 | 요금 입력 · 입력 문자 $0.06 입력 문자 1K개당 |
| 설정요청당 | 요금표— | 과금 대상 수량— | 과금 수량요청 1회 | 과금 단위— | 요금 입력 $0 요청당 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 음성 합성
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/tts-1-hd", "input": "Good afternoon! This is a short voice take.", "voice": "alloy"}')
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 openai/tts-1-hd
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · tts-1-hd
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/audio/speech·openai/tts-1-hd:text→audio- 요청은 어떤 필드를 사용하나요?
POST /v1/audio/speech·openai/tts-1-hd:model,input,voice- 어떤 제한이 적용되나요?
POST /v1/audio/speech·openai/tts-1-hd:input.maximum_length:4096