POST /v1/music/generations は公開されたTokenLabタスクを作成し、id / task_id、status、通常はpoll_urlを返します。アプリケーションはそのタスクの識別子を保存し、進行状況を表示し、最終的なステータスになるまでポーリングする必要があります。
ワークフローの選択
| ワークフロー | 主要フィールド | 注意事項 |
|---|---|---|
| フルソングまたはインストゥルメンタル | model, prompt, オプションの title, tags, action: "MUSIC" | ユーザーが最終的なオーディオを期待する場合に使用 |
| 歌詞のみ | model, prompt, action: "LYRICS" | 歌詞生成を公開しているモデルのみで使用 |
| 既存のクリップを続行 | continue_clip_id, オプションの continue_at | 続行を提供する前に、前の公開クリップ/タスクの識別子を保存 |
suno_musicを使用しています。歌詞のみのフローの場合、歌詞生成を文書化したモデルと共にaction: "LYRICS"を送信します。モデルIDは公開されたTokenLab IDとして扱い、プロバイダー固有のフィールドが公開契約フィールドであることを保証するものではありません。
音楽タスクの作成
完了のポーリング
まずpoll_urlを使用します。クライアントが固定ルートを必要とする場合は、返されたidまたはtask_idでGET /v1/tasks/{id}を呼び出します。
pending、processing、completed、およびfailedです。完了した音楽タスクにはaudio_url、video_url、title、lyrics、および正規化されたメタデータが含まれる場合があります。最終的なURLは自分のデータベースに保存し、ユーザーが生成を再開せずに結果を再度開けるようにします。
UIと状態管理
- タスク作成後すぐに保留状態を表示します。
- 長いタスクの場合は、
5-10秒ごとにポーリングし、completedまたはfailedで停止します。 - タスクが
completedであり、audio_urlが存在するまで最終プレーヤーを表示しないでください。 - 歌詞のみのタスクの場合、ユーザーが購入している内容を理解できるように、オーディオタスクとは別にテキスト出力をレンダリングします。
- リフレッシュ時には、新しいタスクを作成するのではなく、保存された
task_idから再開します。
請求と調整
音楽タスクは作成時に推定額を予約し、最終ステータスがわかった後に決済できます。request_id、task_id、モデル、エンドポイント、およびbilling_transaction_idが表示されたときに保存します。プロバイダーのタスクIDの代わりに、管理APIの使用記録を調整に使用します。
一般的なエラー
| 症状 | 考えられる原因 | 修正 |
|---|---|---|
| タスクが作成されたがプレーヤーがない | タスクがまだ保留中またはaudio_urlなしで完了している | 最終状態になるまでポーリングし、出力が欠落している場合は失敗したユーザーのジョブとして処理 |
| リフレッシュ後に重複した曲 | UIがタスクを再開するのではなく再作成した | task_idを保持して再利用 |
| 歌詞タスクがオーディオを返さない | action: "LYRICS"はテキストのみ | 歌詞と音楽のUIパスを分ける |
| サポートされていないパラメータ | フィールドがモデルの公開契約に含まれていない | プロバイダー固有のフィールドを削除するか、それらを文書化したモデルを選択 |
APIリファレンス
| トピック | リファレンス |
|---|---|
| 音楽の作成 | 音楽の作成 |
| 音楽のステータス取得 | 音楽のステータス取得 |
| タスクのステータス取得 | タスクのステータス取得 |
| モデルのリスト | モデルのリスト |
| 請求と価格設定 | 請求と価格設定 |