엔드포인트
음악 및 오디오 생성
Lyria 3와 GPT Audio 같은 오디오 출력 채팅 모델로 음악과 음성을 만드는 방법입니다. modalities 설정, base64 오디오 응답 처리, 오디오 입력, 모델 목록 조회, 요금을 설명합니다. 실패 시 오류 코드도 안내합니다.
플레이그라운드에서 사용해 보기음악 및 오디오 출력 모델(Lyria 3, GPT Audio 등)에는 전용 엔드포인트가 없습니다. Chat completions로 호출하고 modalities로 오디오 출력을 요청합니다. 생성된 오디오는 어시스턴트 메시지에 base64로 인코딩되어 반환됩니다.
POST https://api14.com/api/v1/chat/completions
요청
모든 chat completion 파라미터가 적용됩니다. 오디오 전용 파라미터는 다음과 같습니다.
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
model | string | 예 | 오디오 모델 ID. 예: google/lyria-3, openai/gpt-audio. |
messages | array | 예 | 원하는 음악이나 음성을 설명합니다. |
modalities | string[] | 예 | 오디오를 받으려면 ["text", "audio"]. |
audio | object | 아니요 | 음성 모델의 출력 옵션: { "voice": "alloy", "format": "wav" }. |
stream | boolean | 아니요 | 지원되는 경우 오디오 청크를 server-sent events로 스트리밍합니다. |
예제
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "google/lyria-3",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
원시 요청:
{
"model": "google/lyria-3",
"modalities": ["text", "audio"],
"messages": [
{ "role": "user", "content": "A 30-second lo-fi hip hop loop with soft piano and vinyl crackle." }
]
}
응답
{
"id": "gen-1791100000-xyz",
"object": "chat.completion",
"model": "google/lyria-3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Here is your loop.",
"audio": { "id": "audio_01", "data": "UklGRiQAAABXQVZFZm10...", "format": "wav" }
},
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 24, "completion_tokens": 1500, "total_tokens": 1524, "cost": 0.06 }
}
choices[0].message.audio.data를 base64에서 디코딩하고, 주어진 format 확장자로 저장하세요.
오디오 입력
모델에 오디오를 보내려면(예: "이 녹음을 요약해 줘") input_audio content 파트를 사용하세요. 비전 및 파일 입력을 참고하세요. 단순한 음성 인식에는 음성 인식이 더 간단하고 저렴하며, 텍스트를 음성으로 바꾸려면 음성 합성을 사용하세요.
오디오 모델 목록 조회
curl "https://api14.com/api/v1/models?category=audio"
가격
오디오 모델은 모델에 따라 오디오 토큰당, 초당 또는 요청당 표시된 가격으로 과금됩니다. 정확한 비용은 usage.cost에 있습니다.
오류
| 상태 | 코드 | 발생 조건 |
|---|---|---|
| 402 | insufficient_balance | USD 잔액이 $0입니다. |
| 403 | plan_required | 요금제에 오디오 모델이 포함되어 있지 않습니다. |
| 404 | model_not_found | 알 수 없거나 비활성화된 모델 ID입니다. |
오류를 참고하세요.