HiAPI
ブログ

チュートリアル

minimax-music-3 APIの呼び出し方法:curl と Python によるテキストから音楽生成のチュートリアル

hiapi 上で利用可能なテキストから音楽生成リクエストを発行し、最初の curl 呼び出しから非同期ポーリング、WAV のダウンロードまでを解説

Nov 3, 2026
深松绿色背景上切分为明暗平面的几何棱柱封面图,鼠尾草绿点缀,风格克制。

よくある失敗パターンとデバッグのコツ

非同期生成はいくつかの予測可能な形で失敗します。問題が起きたら以下を確認してください。

タスクが現れない——送信が 4xx を返す

送信時に 400 が返る場合は、ほぼ常にリクエストペイロードの形式が誤っていることを意味します:model の欠落やスペルミス、prompt が空、あるいは duration を数値ではなく文字列で送信している、などです。401 はキーの欠落、期限切れ、またはリクエストヘッダーの形式誤りを示します——まずヘッダー文字列そのものを確認してください。ステータスコードだけでなくレスポンスボディも出力しましょう。API のエラーレスポンスボディは通常、問題のあるフィールドを指し示します。

ポーリングが永遠に終わらない

ループがいつまでも終了しない場合、タスクが詰まっているか、終了状態の判定が誤っているかのどちらかです。観測したすべての状態値を記録してください。見慣れない状態が繰り返し現れるなら、完了判定条件が狭すぎます。想定時間を大幅に超えて数分間まったく変化がない場合は、失敗として扱い、タスクオブジェクトをログに出力してください——同時に、ワーカープロセスが無期限にブロックされないよう締め切りを設定することを忘れないでください。

早すぎるポーリング

タスクの登録や最初の状態遷移が完了する前にポーリングすると、404 や初期の「queued」状態が返ることがあります。これは正常です。状態確認が返す 404 には、即座にクラッシュするのではなく、バックオフ付きのリトライで数回対応してください——送信直後に一時的に not-found になるのは競合状態であり、エラーではありません。連続して複数回失敗した後にのみ諦めましょう。

タイムアウトとネットワークの停滞

リクエストが断続的にタイムアウトする場合は、ライブラリのデフォルト値に頼らず、呼び出しごとにタイムアウトを明示的に設定しているか確認してください。また、ポーリングが頻繁すぎないかも確認しましょう——高密度の状態リクエストはレート制限を引き起こす可能性があり、通常は明確なエラーではなくタイムアウトや 429 として現れます。

結果 URL の期限切れ

よくある本番環境の障害:タスクは成功し、URL を保存したものの、数日後にダウンロードすると 403 が返る。結果 URL の有効期間は非常に短いです。成功を観測したのと同じワーカープロセス内で直ちにダウンロードしてください。ダウンロードに失敗した場合は数回リトライし、その後再送信するかタスク状態を再取得してください——データがストレージに安全に書き込まれるまで、タスクを完了としてマークしないでください。

リトライによるタスクの重複

送信呼び出しがタイムアウトすると、タスクが受け付けられたかどうか分からないことがあります。リトライすると 2 曲分の生成と 2 回分の課金が発生する可能性があります。リトライの安全性が重要な場合は、送信リクエストにクライアントリクエスト ID を記録し、盲目的に再送信する前に直近のタスクを確認して照合してください。さらに良いのは、送信は永続キューからのみ 1 回だけ行い、ポーリングは下流で行うようにシステムを設計することです。

最後に採用する価値のあるパターン:送信した瞬間に、タスク ID と状態を自分のデータベースに保存することです。そうすれば、状態エンドポイント、UI のプログレスバー、デバッグはすべて自分のレコードから読み取れます——リクエストスレッド内でその場でポーリングするのではありません。これがデモと実用的に耐えうる機能との違いです。

永続的なAIアーティファクトで開発を始める

APIキーを取得して、タスクベースの1つのAPIで画像・動画・音声モデルを呼び出せます。

APIドキュメントを読む