오디오 모델
하나의 Atlas Cloud 엔드포인트로 음성을 합성하고, 음악을 만들고, 녹음을 전사하세요. Seed Audio, ElevenLabs, MiniMax, Gemini TTS, Suno, Seed ASR, xAI STT를 다룹니다.
Atlas Cloud는 텍스트 음성 변환, 음악 생성, 음성 인식 이라는 세 가지 오디오 기능을 단일 엔드포인트로 제공합니다. 어떤 기능이 실행될지는 URL이 아니라 선택한 모델이 결정합니다.
POST https://api.atlascloud.ai/api/v1/model/generateAudio/v1/audio/speech나 /v1/audio/transcriptions 엔드포인트는 존재하지 않습니다. OpenAI SDK에서 코드를 옮겨 오는 경우 오디오 호출은 일대일로 대응되지 않으며, 아래에서 설명하는 비동기 예측 흐름을 거칩니다.
동작 방식
오디오 요청은 이미지, 동영상 생성과 마찬가지로 비동기입니다:
작업을 제출합니다. model과 해당 모델의 파라미터를 최상위에 평평하게 펼쳐서 generateAudio로 POST합니다.
예측 ID를 받습니다. 응답에 data.id와 data.status가 담깁니다.
결과를 폴링합니다. status가 종료 상태에 도달할 때까지 GET /api/v1/model/prediction/{id}를 호출하거나, 웹훅을 등록해 audio.task.terminal 이벤트를 받으세요.
전체 상태 전이는 예측을, 콜백 설정은 웹훅을 참조하세요.
전사와 가사 결과는 URL이 아니라 텍스트입니다. 대부분의 오디오 모델에서 outputs[0]은 생성된 파일의 링크입니다. 하지만 음성 인식 모델과 가사 생성 모델에서는 outputs[0]에 텍스트 자체가 담기며, 간혹 URL처럼 보일 수도 있습니다. outputs[0]을 무조건 다운로드 대상으로 취급하지 말고, 모델 유형에 따라 분기하세요.
텍스트 음성 변환
텍스트에서 음성을 합성합니다. Seed Audio, ElevenLabs, MiniMax Speech, Gemini TTS, xAI TTS 등의 모델을 사용할 수 있습니다.
예시: Seed Audio 1.0
curl -X POST https://api.atlascloud.ai/api/v1/model/generateAudio \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seed-audio-1.0",
"text": "Welcome to Atlas Cloud.",
"format": "mp3",
"sample_rate": 24000
}'| 파라미터 | 필수 | 기본값 | 비고 |
|---|---|---|---|
text | 예 | — | 합성할 텍스트 |
references | 아니요 | — | 음성 레퍼런스 최대 3개, 또는 이미지 레퍼런스 1개. 각 항목은 정확히 하나의 소스만 사용하며, 오디오와 이미지 레퍼런스는 섞을 수 없습니다 |
format | 아니요 | mp3 | mp3, wav, pcm, ogg_opus |
sample_rate | 아니요 | 24000 | 8000, 16000, 24000, 32000, 44100, 48000 |
pitch_rate | 아니요 | 0 | −12 ~ 12 |
speech_rate | 아니요 | 0 | −50 ~ 100 (100 = 2.0배, −50 = 0.5배) |
loudness_rate | 아니요 | 0 | −50 ~ 100 |
목소리를 복제하거나 참조하려면 레퍼런스 클립을 첨부하고 텍스트에서 이를 가리키세요:
{
"model": "bytedance/seed-audio-1.0",
"text": "Use the voice of @audio1 and say: your order has shipped.",
"references": [{ "audio_url": "https://example.com/sample-voice.mp3" }]
}레퍼런스 클립은 30초 이하, 10 MB 미만이어야 합니다.
음악 생성
보컬 유무와 관계없이 완성된 트랙을 만듭니다. Suno Chirp와 MiniMax Music을 사용할 수 있으며, 작사 전용 모델도 제공됩니다.
예시: Suno Chirp v5
curl -X POST https://api.atlascloud.ai/api/v1/model/generateAudio \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno/chirp-v5",
"prompt": "an upbeat indie pop song about summer road trips",
"vocal_gender": "Female"
}'| 파라미터 | 필수 | 기본값 | 비고 |
|---|---|---|---|
prompt | 대체로 필요 | — | custom: false일 때는 곡에 대한 설명. custom: true일 때는 가사 자체 |
custom | 아니요 | false | false = 곡을 설명, true = 직접 작성한 가사를 전달 |
instrumental | 아니요 | false | 보컬 없이 생성 |
vocal_gender | 아니요 | — | Male 또는 Female. 두 모드 모두에 적용됩니다 |
title, style, negative_tags, style_weight 및 관련 필드 | 아니요 | — | custom: true일 때만 적용됩니다 — 그 외에는 조용히 무시됩니다 |
Chirp v5는 요청당 두 개의 트랙과 함께 생성된 커버 이미지를 thumbnail에 반환합니다. custom: true와 instrumental: true를 모두 설정한 경우가 아니라면 prompt는 필수입니다.
가사를 먼저 쓰고 나중에 작곡하려면 minimax/lyrics-generation 같은 가사 모델을 호출한 뒤, 그 출력을 음악 모델의 lyrics 필드에 전달하세요.
음성 인식
녹음을 전사하며, 화자 분리와 단어 단위 타임스탬프를 선택적으로 지원합니다.
두 전사 모델은 오디오 입력 필드 이름이 다릅니다. Seed ASR은 audio_url을, xAI STT는 audio를 사용합니다. 잘못된 필드를 전달하면 검증에 실패합니다.
예시: Seed ASR 2.0
curl -X POST https://api.atlascloud.ai/api/v1/model/generateAudio \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seed-asr-2.0",
"audio_url": "https://example.com/interview.mp3",
"enable_punc": true,
"enable_speaker_info": true,
"show_utterances": true
}'| 파라미터 | 필수 | 기본값 | 비고 |
|---|---|---|---|
audio_url | 예 | — | 공개 URL 또는 Base64. wav/mp3/ogg/raw |
format | 아니요 | mp3 | mp3, wav, ogg, raw |
language | 아니요 | 자동 | 비워 두면 자동 감지. 51개 언어 지원 |
enable_itn | 아니요 | true | 역텍스트 정규화("one hundred"가 "100"이 됩니다) |
enable_punc | 아니요 | false | 문장 부호 추가 |
enable_ddc | 아니요 | false | 군말과 반복을 다듬습니다 |
enable_speaker_info | 아니요 | false | 화자 분리, 최대 10명 |
show_utterances | 아니요 | false | 타임스탬프가 붙은 구간을 반환 |
context | 아니요 | — | 인라인 핫워드. 반드시 JSON 문자열이어야 합니다: {"hotwords":[{"word":"Atlas"}]}. 여기에 평문을 넣으면 작업이 실패합니다 |
예시: xAI STT v1
curl -X POST https://api.atlascloud.ai/api/v1/model/generateAudio \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xai/stt-v1",
"audio": "https://example.com/interview.mp3",
"diarize": true,
"text_normalization": true
}'| 파라미터 | 필수 | 기본값 | 비고 |
|---|---|---|---|
audio | 예 | — | 공개 URL 또는 Base64. 컨테이너 형식은 자동으로 감지됩니다 |
language | 아니요 | 자동 | ISO 639-1. 24개 언어 지원 |
text_normalization | 아니요 | false | "one hundred dollars"가 "$100"이 됩니다 |
keyterm | 아니요 | [] | 바이어스 용어 최대 100개, 각 50자까지 |
diarize | 아니요 | false | 화자 분리, 단어마다 speaker_id를 추가합니다 |
filler_words | 아니요 | false | "um", "uh"를 유지합니다(기본값은 제거) |
multichannel | 아니요 | false | 채널별로 따로 전사합니다 |
결과 읽기
{
"code": 200,
"data": {
"id": "…",
"status": "completed",
"outputs": ["Thanks for joining the call today…"],
"stt_result": {
"text": "Thanks for joining the call today…",
"duration": 184.2,
"words": [
{ "text": "Thanks", "start": 0.12, "end": 0.41, "speaker_id": "1" }
]
}
}
}outputs[0]에는 평문 전사 결과가 담깁니다. 타이밍, 화자, 감지된 언어 같은 구조화된 출력은 stt_result에 들어 있습니다.
오디오 입력 전달하기
오디오 입력 필드는 공개 HTTPS URL 또는 Base64 데이터 URI를 받습니다. Base64 입력은 자동으로 저장되며, 요청이 모델에 도달하기 전에 URL로 대체됩니다.
로컬 파일은 먼저 업로드한 뒤 반환된 URL을 사용하세요:
curl -X POST https://api.atlascloud.ai/api/v1/model/uploadMedia \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-F "[email protected]"제한 사항과 자세한 내용은 파일 업로드를 참조하세요.
과금
오디오 모델은 모델에 따라 다음 세 가지 방식 중 하나로 과금됩니다:
| 방식 | 대상 | 기준 |
|---|---|---|
| 1,000자당 | 대부분의 텍스트 음성 변환 모델 | 입력 text의 길이 |
| 출력 1초당 | Seed Audio 1.0을 포함한 일부 음성 모델 | 실제로 생성된 길이(올림) |
| 입력 1분당 | 음성 인식 모델 | 제출한 오디오의 길이 |
실패한 작업은 과금되지 않습니다. 출력 길이로 과금되는 모델은 작업 제출 시 일정 금액이 보류되었다가, 완료 시 실제 길이로 정산됩니다.
생성 전에 정확한 견적을 받으려면 요금 엔드포인트를 사용하세요. 계산 예시는 모델 과금을 참조하세요.
오디오 모델 찾기
모델 카탈로그는 자주 바뀝니다. 목록을 하드코딩하는 대신 유형으로 카탈로그를 필터링하세요:
- 모델 라이브러리에서 Text-to-Audio 또는 Audio-to-Text로 필터링
- 또는 MCP 서버의
atlas_list_models를type="Audio"로 호출해 에이전트에서 목록을 조회
각 모델의 정확한 파라미터는 모델 엔드포인트 아래의 개별 API 레퍼런스 페이지에 공개되어 있습니다.
관련 문서
Last updated on