音声のエンドポイント
POST /v1/audio/speech はテキストを音声にします(OpenAI のリクエスト形式に、ボイスの作成、クローン、言語、感情を追加)。/v1/audio/voices はクローン用のボイスサンプルを保存し、作成、一覧、取得、名前の変更、ダウンロード、削除ができます。
音声を生成する#
/v1/audio/speechinput を読み上げて音声ファイルを返します。長さ(秒)は x-lovely-audio-seconds ヘッダー、呼び出しの id は x-lovely-request-id に入ります。生成した音声の秒数で課金され(最低 1 秒)、失敗したリクエストは課金されません。
ボディパラメータ
modelstring必須qwen3-tts または zonos2(GET /v1/models で料金とともに一覧できます)。
inputstring必須読み上げるテキスト。最大 4,096 文字。
voicestring or objectモデルのプリセットボイス、OpenAI のボイス名(alloy、nova、onyx などはプリセットに対応付け)、または保存したボイスの id(voice_…、{"id": "voice_…"} でも可)。省略可能:省略するとモデルが language に合うプリセットを選ぶか、qwen3-tts が instructions からボイスを作ります。
instructionsstringqwen3-tts のみ、最大 1,000 文字。ボイスがある場合は話し方(感情、速さ、音量、ささやき)。ない場合は作るボイスの説明。
languagestringISO コード(en、zh、ja、ko、de、fr、pt-br など)または auto(既定)。短いテキストや数字の読みに役立ちます。
response_formatstringデフォルト mp3mp3、opus、aac、flac、wav、pcm(16 ビット、24 kHz モノラル)。
speednumberデフォルト 1.00.25〜4.0。音の高さは変わりません。
emotionstring or objectzonos2 のみ:happy、sad、angry、surprised、または {"happy": 0.7} のような 0〜1 の重み。
seedinteger再現可能な出力のため。0〜2147483647。
reference_audiostring一度だけクローンする声:3〜15 秒の録音の https URL、data: URL、または base64(WAV、MP3、M4A、OGG、FLAC、WebM、最大 10 MB)。voice とは併用できません。
reference_textstringreference_audio で話している内容(あると qwen3-tts のクローンがより本人に近くなります)。
consentbooleanreference_audio を使うときは必須:自分の声であるか、話者の許可を得ていることを確認します。
エラーは通常の形式です:400 invalid_request_error で param にフィールド名(不明なボイス、zonos2 での instructions、qwen3-tts での emotion、consent の欠落)、残高不足は 402、不明なモデルや他人のボイスは 404、生成に失敗したときは 502(課金なし)。
curl https://lovelyrouter.com/v1/audio/speech \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-tts",
"input": "Hello! Nice to meet you.",
"voice": "serena",
"instructions": "Friendly and upbeat"
}' \
--output hello.mp3ボイスオブジェクト#
属性
idstringvoice_ に続く 24 文字。voice に指定します。
objectstring常に voice。
namestring最大 80 文字。
transcriptstring | nullサンプルで話している内容。
typestringサンプルの形式(例:audio/wav)。
bytesintegerサンプルのサイズ。
audio_urlstringサンプルをダウンロードします(API キーが必要)。
created_atintegerUnix 秒。
{
"id": "voice_8f2c4a1e9b7d3f60a5c2e1d4",
"object": "voice",
"name": "Narrator",
"transcript": "Thanks for listening. See you next week on the show.",
"type": "audio/wav",
"bytes": 482044,
"audio_url": "https://lovelyrouter.com/v1/audio/voices/voice_8f2c4a1e9b7d3f60a5c2e1d4/audio",
"created_at": 1792915200
}ボイスを保存する#
/v1/audio/voicesボイスサンプルを保存し、201 とボイスオブジェクトを返します。multipart(サンプルを file として)または JSON(audio に https か data: URL)で送ります。無料。1 アカウント最大 100 件で、削除するまで保持されます。
ボディパラメータ
namestring必須最大 80 文字。
filefile (or `audio` string)必須1 人がはっきり話している 3〜15 秒の音声(音楽なし):WAV、MP3、M4A、OGG/Opus、FLAC、WebM、最大 10 MB。
transcriptstringサンプルで話している内容。最大 1,000 文字。
consentboolean必須true:自分の声であるか、話者からクローンの許可を得ていること。
curl https://lovelyrouter.com/v1/audio/voices \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-F name="Narrator" \
-F transcript="Thanks for listening. See you next week on the show." \
-F consent=true \
-F file=@narrator.wavボイスを削除する#
/v1/audio/voices/{id}ボイスとそのサンプルを完全に削除します:{"id": "voice_…", "object": "voice", "deleted": true}。それを使っていたキャラクターは声がなくなります。