はじめに
音声の URL に加え、必要に応じて話されている言語、キーワードのリスト、3 つのスイッチ(数字の表記変換、フィラーの保持、チャンネル別の書き起こし)を送信します。タスクは書き起こしをテキストで返し、単語単位のタイミング、判定された言語、音声の長さを含む構造化された書き起こしも返します。ファイルは作られません。SpicyAPI はコンテンツフィルターを適用せず、規制のない発話も話されたとおりに書き起こします。音声 1 秒ごとに課金されます。
| 項目 | 値 |
|---|---|
| 入力 | 音声 |
| 出力 | テキスト |
| 必須フィールド |
|
| 任意フィールド | language(25 コード)、 |
| 結果 | テキストの書き起こしと、単語のタイミング・言語・長さを含む output.transcript。multichannel ではチャンネルごと |
| 課金数量 | 音声の秒数。アップロードした音声は実際の長さ分、URL は上限 2 時間分を確保 |
| 標準的な時間 | 10 秒のクリップで約 3 秒、1 時間で約 15 秒 |
| 保存期間 | アップロードした音声は 1 日後に削除、書き起こしはプロンプトデータとともに消去 |
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
audio_url | はい | 書き起こす音声です。アップロードした MP3 か WAV、または MP3、WAV、M4A、FLAC、OGG、Opus、AAC、MP4、MKV の公開 URL を指定します。 1 文字以上 |
language | いいえ | 話されている言語の言語コードです。空にすると自動判定され、どちらの場合も対応言語の発話は書き起こされます。 |
text_normalization | いいえ | オンにすると、話された数字、価格、日付、単位を算用数字で書きます(言葉ではなく「$1,250」「March 14」)。language が必要です。 デフォルト値: |
keyterms | いいえ | 書き起こしで優先させたい単語や短いフレーズを最大 100 個(各 50 文字まで)指定します。名前、ブランド名、専門用語向けです。 デフォルト値: |
filler_words | いいえ | オンにすると um や uh などのフィラーを書き起こしに残します。オフ(既定)では取り除きます。 デフォルト値: |
multichannel | いいえ | オンにすると、マルチチャンネルのファイル(最大 8 チャンネル)をチャンネルごとに別々に書き起こし、チャンネル順に 1 行ずつ返します。話者が別々のチャンネルに録音されているときに使います。 デフォルト値: |
料金
$0.00003 / 音声 1 秒
音声 1 秒ごとに課金されます。タスク作成時に確保される額は、アップロードした音声なら実際の長さ分、音声 URL なら上限 2 時間分です。実際の長さ分だけ支払い、残りは解放されます。失敗したリクエストには課金されません。
ユースケース
ボイスメモと音声ストーリー
規制のない発話も話されたとおりに書き起こされるので、ボイスメッセージ、ロールプレイの録音、音声ストーリーをテキストとして検索、字幕付け、編集できます。
通話録音
双方が別々のチャンネルに入っている録音は、multichannel をオンにすると 1 人 1 行で返ります。オフのままだとテストでは片方しか返らなかったので、チャンネル分けされた通話ではオンにしてください。
生成した音声のチェック
テキスト読み上げの結果を書き起こして台本と比べれば、読み飛ばし、途中で切れた末尾、読み上げられてしまったタグがすぐにわかります。
固有名詞、ブランド名、数字
珍しい名前をキーワードに登録し、text normalization をオンにすれば、名前は指定した綴りで、価格や日付は $1,250 や March 14 のような表記で書き起こされます。
プロンプトガイドと実践のヒント
audio_urlで音声を指すMP3 か WAV をアップロードするか、音声そのものを返す公開 URL を渡します。HTML を返すプレーヤーページや共有リンクは失敗します。長さは 1 秒〜2 時間です。
わかっていることを足す
言語がわかれば language を設定し、名前やブランド名を keyterms に並べ、数字を算用数字で書かせたいなら
text_normalizationをオンにします。text_normalizationには language が必要です。タスクからテキストを読む
書き起こしはタスク結果のテキストとして届き、output.transcript には各単語が開始・終了時刻付きで並びます。multichannel がオンならチャンネル順に 1 チャンネル 1 行です。あとで使うなら自分のストレージにコピーしてください。
返されるもの
タスク結果のテキストとしての書き起こしに加え、output.transcript に、判定された言語と言語コード、音声の長さ(秒)、各単語の開始・終了時刻(秒)が入ります。multichannel がオンなら output.transcript.channels にチャンネルごとの同じ内容が入ります。ファイルは作られず、メディアストレージにも何も入りません。話者ラベルは含まれません。
音声の送り方
audio_url には、アップロードした MP3 か WAV、または MP3、WAV、M4A、FLAC、OGG、Opus、AAC、MP4、MKV の公開 URL を指定し、長さは 1 秒〜2 時間です。URL は音声そのものを返す必要があります。ファイルヘッダーのない生の音声(PCM、μ-law、A-law)は受け付けません。
言語と数字
language を空にすると言語は自動判定され、どちらの場合も対応する 25 言語の発話は書き起こされます。指定したうえで text_normalization をオンにすると、数字、価格、日付、単位が書き言葉の表記になります。テストでは「one thousand two hundred fifty dollars on March fourteenth」が「$1,250 on March 14」になりました。text_normalization には language が必要です。
キーワードとフィラー
keyterms には 50 文字までの語を 1 行に 1 つ、最大 100 個まで指定できます。テストでは「Xandrelle」と「Qorvessa」が、登録しないと「Xandrel」「Corvessa」になり、登録すると正確に返りました。filler_words は既定で取り除かれる um や uh を残します。
複数チャンネル
話者ごとにチャンネルが分かれた録音では multichannel をオンにします。チャンネルごとに別々に書き起こされ、チャンネル順に 1 行ずつ返ります。オフにしてよいのは全チャンネルが同じ音のときだけです。テストでは、左右に別の話者がいるステレオファイルで、2 人のうち 1 人が抜けて返りました。
課金
音声 1 秒ごとに課金されます。タスク作成時に確保される額は、アップロードした音声なら実際の長さ分、音声 URL なら上限 2 時間分です。実際の長さ分だけ支払い、残りは解放されます。どのオプションも料金に影響しません。失敗したリクエストには課金されません。
コンテンツ
SpicyAPI はコンテンツフィルターを追加しません。テストでは規制のない発話が、伏せ字、ピー音、欠落なしで一語一語そのまま返りました。
SpicyAPI はコンテンツフィルターを追加せず、発話は伏せ字や拒否ではなく、話されたとおりに書き起こします。送信する音声の権利と、録音された人の同意についてはユーザー自身が責任を負います。
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-stt/speech-to-text",
"input": {
"audio_url": "https://example.com/reference.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 リファレンスを参照してください。





