はじめに
読み上げるテキストと、任意で音声、言語、速度、出力形式を送ってください。タスクは、その声で台本を読んだ音声ファイルを 1 つ返します。既定は 24 kHz の MP3 です。テキストに書かれた [laugh] や … のような話し方のタグは、読み上げられずに演じられます。SpicyAPI はコンテンツフィルターを適用せず、台本は書かれたとおりに読まれます。課金は送ったテキストの 1,000 文字単位です。
| 項目 | 値 |
|---|---|
| 入力 | テキスト |
| 出力 | 音声 |
| 必須フィールド | text — 1〜15,000 文字、音声タグ使用可 |
| 任意フィールド |
|
| 結果 | 音声ファイル 1 つ。既定は MP3、24 kHz、128 kbps、モノラル |
| 課金数量 | 送信したテキストの文字数、1,000 文字単位、タグを含む |
| 標準的な時間 | 170〜320 文字で 3〜8 秒 |
| 保存期間 | 生成された音声は 14 日間保存 |
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
text | はい | 読み上げる言葉を書かれたとおりに指定します。[laugh] や … などの音声タグも書けます。 1 文字以上 · 15000 文字以内 |
voice_id | いいえ | 71 種類のプリセットボイスから 1 つを選びます。一覧には名前、性別、言語が表示されます。 |
language | いいえ | 読み上げ言語の言語コード、または台本から自動判定する auto(既定)を指定します。短い台本や言語が混ざった台本が別の言語で読まれるときに設定してください。 |
speed | いいえ | 話す速さで、0.7(遅い)〜1.5(速い)、既定は 1.0 です。料金には影響しません。 |
output_format | いいえ | 音声のエンコード形式です。mp3(既定)、wav、または電話システム向けのヘッダーなしストリーム pcm、mulaw、alaw から選びます。 |
sample_rate | いいえ | サンプリングレート(Hz)で、8000、16000、22050、24000(既定)、44100、48000 から選びます。電話回線には mulaw か alaw と 8000 を、スタジオ用途には 44100 か 48000 を使います。 |
bitrate | いいえ | MP3 のビットレート(bps)で、32000〜192000、既定は 128000 です。 |
text_normalization | いいえ | オンにすると、数字、略語、記号などの書き言葉を読み上げ前に話し言葉の形に変換します。既定はオフです。 デフォルト値: |
optimize_streaming_latency | いいえ | モデルのストリーミング遅延レベルです。0(既定)は最高の音質を保ちます。 |
料金
$0.018 / 1,000 文字
送信したテキストの 1,000 文字ごとに課金され、スペース、句読点、音声タグも含まれます。実行前の見積もりが最終価格です。
ユースケース
ボイスメッセージとコンパニオンアプリ
ささやくひと言、ちょうどいい位置の笑い声、次のセリフ前の息づかいをタグとして台本に書き込めるので、演技も保存・再生するテキストの一部になります。
オーディオブックと連載フィクション
1 回のリクエストで最大 15,000 文字、章をまたいでも変わらないナレーターの声、寝る前にゆっくり聞くための速度スライダー。どの章も途中でフィルターされたり和らげられたりしません。
多言語ナレーション
同じ台本を英語、日本語、フランス語、韓国語、アラビア語などで読み上げます。多言語対応の 5 ボイスを使うことも、言語ごとにネイティブのボイスを選ぶこともできます。
電話回線と音声メニュー
8 kHz の μ-law か A-law を指定すれば、電話システムがそのまま再生できる形式で音声が届き、変換の手間がかかりません。
プロンプトガイドと実践のヒント
台本を text に書く
最大 15,000 文字です。[pause]、[laugh]、[breath]、… を入れたい位置にそのまま書き込み、リズムは句読点で整えます。
ボイスと言語を選ぶ
voice_idの既定は eve です。Eve、Ara、Leo、Rex、Sal は対応するすべての言語を話し、ほかのボイスは 1 言語に特化しています。短い台本や言語が混ざった台本が別の言語で読まれない限り、language は auto のままで構いません。速さと形式を決める
speed は 0.7〜1.5 です。再生用なら
output_formatは mp3 のまま、編集用なら wav、電話システム向けなら 8 kHz の pcm、mulaw、alaw を選びます。
返されるもの
1 タスクにつき音声ファイル 1 つで、指定しない限り 24 kHz、128 kbps、モノラルの MP3 です。ファイルは SpicyAPI のストレージにコピーされ、14 日間保存されます。単語単位のタイミングや字幕は含まれません。
ボイスの選び方
voice_id には 71 種類のプリセットボイスのいずれかを指定し、既定は eve です。Eve、Ara、Leo、Rex、Sal は対応するすべての言語を話します。残りの 66 種類は、中国語(標準語)、ロシア語、イタリア語、ヒンディー語、フランス語、スペイン語、デンマーク語、ベトナム語、英語、スウェーデン語、フィンランド語、トルコ語、日本語、韓国語、ポルトガル語、オランダ語、ポーランド語、タイ語、アラビア語、ドイツ語のいずれか 1 言語に特化しており、その言語で最もよく読みます。フォームにはすべてのボイスが名前、性別、言語付きで並びます。
タグで演技をつける
演技は text に書き込みます。単発タグはその位置で音を 1 つ鳴らします: [pause]、[long-pause]、[hum-tune]、[laugh]、[chuckle]、[giggle]、[cry]、[tsk]、[tongue-click]、[lip-smack]、[breath]、[inhale]、[exhale]、[sigh]。囲みタグは中の言葉の話し方を変えます: <soft>、<whisper>、<loud>、<build-intensity>、<decrease-intensity>、<higher-pitch>、<lower-pitch>、<slow>、<fast>、<sing-song>、<singing>、<laugh-speak>、<emphasis>。試したタグは演じられ、単語として読まれることはありませんでした。
速度、言語、形式
speed は 0.7〜1.5 です。language は auto のままなら自動判定され、短い台本や言語が混ざった台本が別の言語で読まれるときに設定します。output_format の既定は mp3 で、編集には wav が向いています。pcm、mulaw、alaw は電話システム向けのヘッダーなしストリームなので、sample_rate 8000 と組み合わせます。bitrate は MP3 にのみ効きます。optimize_streaming_latency(0、1、2)はモデルのストリーミング遅延レベルで、高いほど最初の音声チャンクが小さくなり、チャンクの境目で音質が落ちることがあります。0 は最高の音質を保ちます。
課金
text の 1,000 文字ごとに課金され、スペース、句読点、改行、タグも数えられます。タスク開始前に文字数がわかるため、見積もりがそのまま最終請求額になります。ボイス、言語、速度、形式は料金に影響しません。失敗したリクエストには課金されません。
コンテンツ
SpicyAPI はコンテンツフィルターを追加しません。当社のテストでは、送った最も強い台本も一語一句そのまま読まれ、飛ばされたものも、途中で切られたクリップもありませんでした。
SpicyAPI はコンテンツフィルターを追加しておらず、NSFW の台本も書かれたとおりに読み上げます。送信する台本と、生成された音声の使い方(実在の人物の発言として扱わないことを含む)については、ユーザー自身が責任を負います。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "xai/grok-tts/text-to-speech",
"input": {
"text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
"bitrate": 128000,
"language": "auto",
"voice_id": "eve",
"sample_rate": 24000,
"output_format": "mp3"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。





