APIでアダルト動画制作を自動化する方法
読了 7 分
著者:Nureta Team最終更新:2026年9月29日
アダルト動画制作の自動化は、API呼び出しをパイプラインとしてつなぐことで実現します。スクリプトを生成し、参照画像を添え、レンダリングを送信し、完了はWebhookで受け取る。Nureta Developer API は1つのAPIキーで各工程をカバーします。1本$0.01のスクリプト下書き、最大180秒のつなぎ合わせ動画、署名付きコールバック、そして暴走したジョブの支出に上限をかける前払い残高からの秒単位課金です。写真は不要で、テキストだけで動画になります。参照画像を加えた場合も最長180秒まで作れます。
NuretaはNo.1のフィルターなしNSFW AI動画プラットフォームで、50,000人以上のユーザーに信頼されています。テキストから動画・画像から動画、最長3分。
自動化されたアダルト動画パイプラインの全体像は?
Nureta Developer API 上の制作パイプラインは、たいてい5つの工程で構成されます。工程1・企画:前提を構造化されたスクリプトにする。工程2・素材:参照画像をアップロードまたは生成する。工程3・レンダリング:スクリプトから動画タスクを作る。工程4・レビュー:必要に応じてストーリーボードを止め、人が承認する。工程5・納品:完成動画のURLをWebhookで受け取り、自社サービスで公開する。どの工程も同じBearer APIキーと同じ「作成→ポーリング→終了」のタスクの流れを使うので、小さなワーカーサービス1つでチェーン全体を回せます。
設計上のポイントは、生成をブロッキングなHTTP呼び出しではなく、永続的なジョブとして扱うことです。1分のシーンのレンダリングには数分かかるため、コードは送信してタスクIDを保存し、次に進むべきです。こうすればパイプラインは再開可能になります。ワーカーが落ちてもタスクはNureta側で動き続け、キューはどのIDを確認すべきかを覚えています。
アイデアを大量のストーリーボードに変えるには?
まずは圧倒的に安いスクリプト生成から始めます。POST /api/v3/contents/scripts に {"model":"seahorse-script","content":[{"type":"text","text":"深夜に再会する元恋人同士"}],"duration":60} を送ると、長さに関係なく一律$0.01です。結果にはタイトル、キャラクター名、シーンのリストが含まれ、各シーンに setting、beat、durationSeconds が入ります。duration(5〜180秒)で変わるのはシーンの数で、料金は変わりません。
これらのシーンはほぼそのまま動画のストーリーボードに対応します。各ビートが導入なのかクライマックスなのかを決め、個別の duration_seconds(4〜15)と explicit フラグを付けて segments[] として渡します。参照画像は POST /api/v3/contents/uploads で短時間有効な署名付きURLを取得し、画像バイトをPUTして、返ってきた assetUrl をタスクで参照します。アップロード自体は無料ですが、署名URLの発行はキーごとに毎分30回までなので、まとめて処理する設計にしましょう。
ジョブの送信と追跡はどうするべきか?
レンダリングはキューのワーカーから POST /api/v3/contents/generations/tasks で送信し、返ってきたIDはほかの処理が失敗する前にすぐ保存します。料金は作成時に残高から確保されるので、送信が成功した時点でジョブの資金は確保済みです。HTTP呼び出しがタイムアウトしてタスクが作られたか分からない場合は、再送の前に自社の記録とタスク一覧を確認してください。やみくもなリトライこそが二重払いの原因です。
追跡には、各動画タスクが持つ step オブジェクトを使います。コードには queued、generating_script、generating_visuals、rendering(完了数と総クリップ数付き)、stitching、done、failed などがあります。APIは表示用テキストを返さないので、自社のラベルに対応付けてください。ポーリングでも動きますが、すべてのリクエストがキーのレート制限(デフォルト毎秒10回、1〜100で調整可)に数えられるため、規模が大きいならWebhookを基本にするのが得策です。
Webhookでパイプラインを止めずに回すには?
各タスクに callback_url を設定すると、タスクが成功または失敗した時点で、GETで得られるのと同じ終了時のタスクオブジェクトを Nureta があなたのHTTPSエンドポイントにPOSTします。callback_secret(8〜256文字)を加えたら、配信ごとに検証しましょう。タイムスタンプヘッダー、ドット、生のリクエストボディをつなげたものに対してHMAC-SHA256を計算し、署名ヘッダーと定数時間で比較します。一致しないものはすべて拒否します。
受信側は地味で冪等な作りにします。配信は少なくとも1回(at-least-once)で最大5回試行されるので、タスクIDで重複を排除します。5秒以内に2xxを返し、ダウンロードやトランスコード、公開といった重い処理は非同期で行ってください。応答が遅いと失敗扱いになり、リダイレクトは追跡されません。コールバックURLはHTTPS必須で、プライベートアドレスやループバックアドレスは指定できません。Webhookの取りこぼしに備えて、低頻度のポーリングを安全網として残しておきましょう。
人の目をどこに残すべきか?
リスクの低い大量生成なら完全自動でも構いませんが、自社ブランドで公開するものにはeditモードでレビューの関門を設けましょう。"mode":"edit" で送信すると、タスクは課金されてストーリーボードを下書きし、キャラクターのプレビュー、ショットごとのスクリプト、尺、explicitフラグ、人物のいない背景プレビューを持った planned 状態で止まります。レビュー担当者はビートやフレームを変更してから POST …/tasks/:id/render を呼ぶか、POST …/tasks/:id/cancel で即時全額返金を受けられます。誰もレンダリングしなかった下書きは自動で返金されます。
自動化してもコンプライアンスの責任は消えません。Nureta Developer API で生成されるものはすべて Nureta のコンテンツポリシーの対象です。成人のみ、架空を含む未成年は禁止、同意のない実在人物は禁止、公人は禁止、同意のないコンテンツは禁止。パイプラインがエンドユーザーにサービスを提供するなら、年齢確認は自社で行い、ユーザーが提供する参照写真はタスクに渡す前に同意を記録してください。
自動実行の予算はどう組むか?
APIの料金は前払い残高からの動画1秒単位で、480pは1秒$0.1888、720pは$0.2773、1080pは$0.5428です。計算例:480pで1分のシーンを50本なら 50 × 60 × $0.1888 = $566.40、スクリプト下書き50本が $0.01 × 50 = $0.50、参照画像100枚が $0.05 × 100 = $5.00、合計$571.90です。失敗した生成は自動で返金されるため、実際のコストはこの金額以下になります。
前払い方式はサーキットブレーカーの役割も果たします。残高で新しいタスクを賄えなくなると、APIは際限なく支出を積み上げる代わりに AccountOverdueError を返すため、タスク作成をループするバグがあっても残高が尽きた時点で止まります。これは一般向けの Nureta アプリとは別物として考えてください。アプリは5秒・480pの動画1本$1.29をUSDCで支払う、1人が1本の作品を作るためのもので、パイプライン向けではありません。