Cookieを使用しています. Cookieとブラウザストレージは、ログイン状態の維持と設定の保存に使われます。許可いただいた場合は、サイトの利用状況も計測します。はいつでも変更できます。詳しくはCookieポリシーをご覧ください。

音楽と音声

エンドポイント

音楽と音声

Lyria 3 や GPT Audio などの音楽と音声出力モデルを、Chat Completions の modalities 指定で呼び出す方法です。Pro 以上のプランが必要で、音声入力、モデル一覧、料金、エラーを説明します。生成された音声はアシスタントのメッセージに含まれます。

プレイグラウンドで試す

音楽および音声出力のモデル(Lyria 3、GPT Audio など)には専用のエンドポイントがなく、Chat Completions を通じて呼び出し、modalities で音声出力を指定します。生成された音声は、アシスタントのメッセージ内に base64 でエンコードされて返されます。

POST https://api14.com/api/v1/chat/completions

リクエスト

Chat Completions のパラメーターがすべて使えます。音声固有のものは次のとおりです。

パラメーター型必須説明
modelstringはい音声モデルの ID。例: google/lyria-3 または openai/gpt-audio。
messagesarrayはい求める音楽や音声の内容を記述します。
modalitiesstring[]はい音声を受け取るには ["text", "audio"]。
audioobjectいいえ音声モデルの出力オプション: { "voice": "alloy", "format": "wav" }。
streambooleanいいえ対応するモデルで、音声のチャンクを 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 コンテンツパートを使います。画像とファイル入力を参照してください。単純な音声からテキストへの変換には文字起こしのほうが簡単で安価です。テキスト読み上げには音声合成を使います。

音声モデルの一覧

curl "https://api14.com/api/v1/models?category=audio"

料金

音声モデルは、モデルによって音声トークン、秒、またはリクエストあたりの表示価格で課金されます。正確な料金は usage.cost に含まれます。

エラー

ステータスコード発生条件
402insufficient_balanceUSD 残高が $0。
403plan_requiredプランに音声モデルが含まれていない。
404model_not_foundモデル ID が不明、または無効化されている。

エラーを参照してください。