Source: https://ailoot.ai/models/ko/openai-tts-1/
Canonical: https://ailoot.ai/models/ko/openai-tts-1/
Language: ko

# tts-1

[Markdown](https://ailoot.ai/models/ko/openai-tts-1/index.md) · [JSON](https://ailoot.ai/models/ko/openai-tts-1/facts.json)

## [tts-1](https://ailoot.ai/models/ko/openai-tts-1/)

TTS-1은 선택 가능한 목소리, 재생 속도, 출력 형식으로 준비된 텍스트를 음성 오디오로 변환합니다. OpenAI는 이 버전을 저지연 음성 생성에 최적화했습니다. 빠른 낭독, 짧은 내레이션, 이미 작성된 대본의 스트리밍 전달에 실용적인 선택입니다.

- [**Ailoot Ultra · 음성 합성** `POST /v1/audio/speech` `openai/tts-1`](https://ailoot.ai/models/ko/openai-tts-1/#method-0)

모델 소개

이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.

TTS-1은 속도에 최적화된 OpenAI의 텍스트 음성 변환 모델입니다. 말할 단어를 받아 오디오를 생성하며 전사문이나 서면 답변을 만들지 않습니다. 제조사의 예에는 작성된 기사 낭독, 여러 언어의 음성 생성, 오디오가 도착하는 대로 재생하는 작업이 포함됩니다. TTS-1은 TTS-1 HD보다 지연이 낮고 HD 모델은 출력 품질에 중점을 둡니다. 따라서 작업에서 빠른 재생 시작과 더 높은 품질의 내레이션 중 무엇이 중요한지 판단하는 것이 유용합니다.

음성 생성 워크플로는 모델, 입력 텍스트, 선택한 목소리를 중심으로 구성됩니다. OpenAI 참조는 텍스트 입력을 4,096자로 제한하며 이는 토큰 컨텍스트 창이 아니라 문자 수 한도입니다. 합성 전에 실제 대본을 준비하세요. 청취자가 들어야 할 문장을 쓰고 약어를 명확히 하며 이름, 수량, 제목을 어떻게 말할지 정하세요. 긴 기사는 문서 전체를 하나의 음성 요청으로 취급하지 말고 각기 이해할 수 있는 문단으로 구간을 정리하세요.

현재 OpenAI의 TTS-1 모델별 목소리 목록은 alloy, ash, coral, echo, fable, onyx, nova, sage, shimmer입니다. 이는 사전 설정 목소리이며 모든 최신 음성 모델의 전체 목소리 집합이 아닙니다. 목소리는 영어에 최적화되어 있지만 말할 언어로 입력을 제공하면 다국어 음성이 지원됩니다. 최종 대본과 같은 어휘와 속도의 대표 문단으로 목소리를 선택하세요. 연속성이 중요하면 관련 클립에서 같은 선택을 유지하세요.

오디오는 청크로 스트리밍되어 전체 파일 생성이 끝나기 전에 재생을 시작할 수 있습니다. 이는 텍스트에서 생성된 음성의 스트리밍이며 양방향 음성 대화가 아닙니다. 문서화된 출력 형식은 MP3, Opus, AAC, FLAC, WAV, PCM이며 기본값은 MP3입니다. MP3와 AAC는 압축 오디오, Opus는 스트리밍과 통신에 적합하고 FLAC는 무손실입니다. WAV는 압축 오디오 디코딩을 피하며 원시 PCM은 파일 헤더 없이 24 kHz, 16비트 부호 있는 리틀엔디언 샘플을 포함합니다. OpenAI는 응답 시간이 우선이면 WAV나 PCM을 권장합니다.

음성 참조는 0.25~4.0의 속도 설정을 제공하며 기본값은 1.0입니다. 추가 자연어 instructions 필드는 TTS-1에서 작동하지 않고 이 모델은 이벤트 방식의 SSE 출력을 지원하지 않습니다. 문서상 제어는 대본, 목소리, 속도, 오디오 형식입니다. 새 모델의 억양, 감정, 속삭임 제어를 이 버전에 붙여서는 안 됩니다. 클립을 준비할 때는 이해하기 쉬운 속도를 선택한 뒤 실제로 표현된 단어와 멈춤을 살피세요. 대본의 문자 수가 정확한 시간을 정해 준다고 가정하지 마세요.

언어 안내에는 영어, 러시아어, 우크라이나어, 프랑스어, 독일어, 스페인어, 포르투갈어, 이탈리아어, 아랍어, 중국어, 일본어, 한국어, 힌디어, 카자흐어 등 많은 언어가 포함됩니다. 음성은 제공된 텍스트의 언어를 따릅니다. 따라서 다국어 내레이션 요구사항은 번역된 대본과 의도한 청중에서 시작합니다. 텍스트 음성 변환은 표현 단계이며 번역하거나 다시 쓰라는 지시가 아닙니다. 실용적인 공지에는 정확한 메시지와 이름을 준비하세요. 교육 내레이션에는 읽을 단어 안에서 구간 경계와 정의를 명확히 하세요.

완성 결과물은 짧은 음성 안내, 내레이션 문단, 더 큰 편집 작업의 오디오 세그먼트일 수 있습니다. 실제 출력을 사용해 발음, 완전성, 속도, 선택 형식을 검토하세요. 이후 수정을 해당 문단에 한정할 수 있도록 대본과 오디오를 함께 보관하세요. OpenAI 안내는 목소리가 AI로 생성되었다는 사실을 청취자에게 명확히 알리도록 요구합니다. 이 공개는 청취 경험에 속합니다. TTS-1을 사람의 목소리 녹음으로 바꾸거나 모델에 음성 복제 제어를 추가하지는 않습니다.

**Ailoot Ultra · 음성 합성** `POST /v1/audio/speech` `openai/tts-1`

[`openai/tts-1`](https://ailoot.ai/models/ko/#m=openai%2Ftts-1&route=Ultra&caller=openai%2Ftts-1&fmt=speech)

기타 /`openai/tts-1`

### 시작하기

TTS-1은 선택 가능한 목소리, 재생 속도, 출력 형식으로 준비된 텍스트를 음성 오디오로 변환합니다. OpenAI는 이 버전을 저지연 음성 생성에 최적화했습니다. 빠른 낭독, 짧은 내레이션, 이미 작성된 대본의 스트리밍 전달에 실용적인 선택입니다.

허용 입력

텍스트

결과

오디오

### Ailoot에서 사용 가능 · 입력 및 메서드

**Ailoot Ultra · 음성 합성** `POST /v1/audio/speech`

입력

`text`

출력

`audio`

출력 형식

mp3

| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
| --- | --- | --- | --- | --- |
| 필드`model` | 유형`string` | 요건필수 | 값과 한도 openai/tts-1 | 기본값— |
| 필드`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.03** 입력 문자 1K개당 |
| 설정요청당 | 요금표— | 과금 대상 수량— | 과금 수량요청 1회 | 과금 단위— | 요금 입력 **$0** 요청당 |

Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. [금액 확보와 정산 방식 →](https://ailoot.ai/docs/ko/billing/reserve/)

### 요청 예제

#### Ailoot Ultra · 음성 합성

curl

```bash
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", "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}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

기타 콘텐츠 조회

미디어 라이브러리작업 상태자산 세부 정보

```bash
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
```

```bash
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
```

```bash
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`](https://ailoot.ai/models/ko/#m=openai%2Ftts-1&route=Ultra&caller=openai%2Ftts-1&fmt=speech)

#### 메서드 경로 별칭

위에 표시된 메서드 경로를 사용하세요.

#### 관련 호출용 ID

[`openai/tts-1`](https://ailoot.ai/models/ko/#m=openai%2Ftts-1&route=Ultra&caller=openai%2Ftts-1&fmt=speech)

FAQ · tts-1

어떤 입력과 결과를 사용할 수 있나요?

`POST /v1/audio/speech` · `openai/tts-1`: `text` → `audio`

요청은 어떤 필드를 사용하나요?

`POST /v1/audio/speech` · `openai/tts-1`: `model`, `input`, `voice`

어떤 제한이 적용되나요?

`POST /v1/audio/speech` · `openai/tts-1`: `input.maximum_length`: `4096`

Claude Code, OpenCode, Hermes, 자체 앱에 Ailoot를 연결하세요.

## 회사와 그 프로젝트 포트폴리오

회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.

## 할인받아 토큰을 구매하세요.

정기 작업에는 구독 할인, 토큰 구매에는 최대 50% 프로모션 코드.

구독

정기 요청에 맞는 할인 요금제를 선택하세요.

최대 50% 프로모션 코드

구매할 때 코드를 넣으면 진행 중 행사에 따라 가격을 다시 계산합니다.

이력의 지출

요청마다 모델, 토큰, 금액을 저장합니다.

[구독 선택](https://ailoot.ai/docs/ko/billing/subscriptions/) · [모델 가격 보기](https://ailoot.ai/models/ko/)

## 판매하는 제품에 API를 연결하세요.

Ailoot 공식 이용 조건과 라이선스 계약으로 SaaS, 앱, 봇에 사용하세요. 재판매에는 리셀러 라이선스를 요청하세요.

상업용 앱

서비스의 유료 기능에 텍스트, 이미지, 영상, 소리 생성을 넣으세요.

리셀러 라이선스

프로젝트 설명과 접근 구조를 보내 사용·재판매의 서면 조건을 요청하세요.

사이트의 문서

연결 전에 공식 이용 조건, 라이선스 계약, 데이터 처리 정책을 읽을 수 있습니다.

[리셀러 라이선스 요청](mailto:support@ailoot.ai) · [공식 이용 조건과 라이선스 계약](https://ailoot.ai/legal/offer?lang=ko)

## Ailoot · 회사와 그 프로젝트 포트폴리오





Ailoot는 축적된 운영 경험, 폭넓은 고객 기반, 안정적인 서비스, 지속적인 KPI 관리를 바탕으로 합니다.





회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.





Ailoot는 이러한 운영 경험을 고객의 제품, 에이전트, 애플리케이션, 자동화에서 AI 기능을 이용할 수 있는 API 접근에 활용합니다.
