
NSFW 動画 API ガイド:Seedream から Seedance へ
成人向け動画 API ワークフロー:Seedream 5.0 Pro でキーフレーム作成、Seedance/Wan/H3 で動画化、同意確認実装
確実に機能する NSFW 動画 API ワークフローは、静止画とモーションを分離することです。Seedream 5.0 Pro を使用してソースフレームを作成・承認してから、そのフレームを Seedance 2.0 または 2.5、Wan 3.0 またはビデオプライム、MiniMax H3 でアニメーション化します。画像モデルが外観を管理し、動画モデルがモーション、カメラ、タイミング、音声を管理します。
「NSFW対応」は単にモデル名の属性ではありません。モデル機能、エンドポイントのコンテンツ規則、配信先の規則は個別の契約です。本ガイドは、成人のみ、合法的で、合意に基づく制作をカバーしており、未成年、曖昧な年齢、非合意的な肖像、公人、または拒否回避は対象外です。
TL;DR
- Seedream 5.0 Pro でソースフレームを作成します。 モーション代金を支払う前に、アイデンティティ、外見上の成人年齢、衣装、背景、照明、フレーミングを承認します。
- 長尺または参照が多いショットは Seedance 2.5 を選択します。 最大30秒に対応し、大規模なマルチモーダル参照セットを受け入れます。
- 最初/最後フレームの制御が重要な場合は Wan 3.0 を選択します。 2~30秒、480P~1080P、ネイティブオーディオに対応。ビデオプライムはより高速です。
- 短い 2K ショットでネイティブステレオが必要な場合は MiniMax H3 を選択します。 テキスト、画像、動画、オーディオコンテキストの混合から最大15秒生成します。
- モデレーションをエンドポイント契約として扱います。 選択したエンドポイントの現在のドキュメントと利用規約を確認してください。モデルファミリー名は受け入れを保証できず、露骨なコンテンツを合法化することもできません。
- 短く、安く試します。 最も低い有用な解像度で4~6秒をテストして結果を確認してから、最終レンダーをリクエストします。
API はどの質問に答える必要がありますか?
ルートを選択する前に、2つの直接的な質問に答えてください:
- 正確なエンドポイントはソースメディアを受け入れ、ショットが必要とするコントロールに対応していますか?
- そのエンドポイントの現在のドキュメントと利用規約は、リクエストされたカテゴリについて何と言っていますか?
最初の質問はメディア機能に関するもの。2番目はエンドポイント自体とその契約に関するものです。選択したモデル ID の両方を確認してください。
NSFW 動画 API が誠実に約束できること
人々は「NSFW API」という言葉を複数の異なることを説明するために使用します。これらは1つの主張に崩壊させるべきではありません。
| 主張 | 意味する可能性 | 証明しないこと |
|---|---|---|
| モデルが画像から動画への変換に対応 | 供給されたフレームをアニメーション化できる | 特定のホストがすべての成人カテゴリを許可する |
| ホストされたルートの制限が少ない | オプションの1つのチェックまたはルート選択が変わる | すべてのセーフティレイヤーがオフ |
| リクエストフィールドがフィルターを無効化できる | ドキュメント化されたフィールドがその API 実装に影響する | 同じフィールドがすべてのホストまたは公式エンドポイントに存在する |
| プロンプトが受け入れられた | 生成が開始された | 完成したビデオが出力レビューに合格する |
| コンテンツはどこかで合法 | 1つの管轄区域がそれを許可する | API、支払い、または発行者の利用規約が許可する |
モデルファミリーまたはティア名からモデレーション動作を推測しないでください。選択したモデル ID の正確なライブスキーマと利用規約を確認してください。Official、Fast、Face、または Max ラベルは、別のバリアントのコントロールを共有することを確立しません。
ステップ1:Seedream 5.0 Pro の承認されたソースフレームを作成
テキスト動画は外観とモーション両方をオープンなままにします。最初にフレームを固定してください。Seedream 5.0 Pro は、画像テキストアライメント、構造的一貫性、リアルな照明と肌のテクスチャ、複数画像フュージョン、正確な編集用に構築されました [1]。
生成する前にアイデンティティパケットを構築します:
- オリジナルのフィクショナルアイデンティティ、または合成メディアと計画された配布を明示的にカバーする同意のある成人を使用してください。
- プロンプトの外で年齢確認結果を記録してください。プロンプトに「30歳」と書くことは視覚的指示であり、年齢の証明ではありません。
- 5つのアンカーを修正します:顔、髪、衣装、部屋、光の方向。
- 最終的なアスペクト比で生成します:9:16 縦向きまたは 16:9 横向き。
- ショットごとに1つの変更不可の承認フレームを保持します。アセット ID とハッシュを付与して、後の編集がそれをサイレントに置き換えることができないようにします。
安全なソースフレームプロンプトはシンプルな場合があります。モデルは視覚的ブリーフが必要で、婉曲表現の段落ではありません:
Original fictional adult performer, age 30, no resemblance to a real person.
Private editorial studio, opaque black satin robe, medium portrait.
Warm practical lamp camera-right, soft window fill camera-left.
Natural skin texture, dark wood background, 50 mm lens, 9:16 composition.
Keep both hands visible and anatomically correct. No text, logo, or extra person.この例は意図的に大人っぽくありません。スペルミスと暗号化された言語はモーションを改善したり、拒否されたリクエストを受け入れ可能にしたりすることはできません。
続行する前に、完全なフレームを100%で検査してください:外見上の年齢、顔、指、四肢、反射、鏡、衣装の境界、および誤ったテキスト。動画は通常、フレーム1に既に存在していた欠陥を増幅する傾向があります。
ステップ2:ショットによって動画モデルを選択
有用な単一の「最高」モデルはありません。ショットリストに対して選択してください。
| モデル | 検証済みの制作形状 | 使用するタイミング |
|---|---|---|
| Seedance 2.0 | 最大15秒。混合画像、動画、オーディオ参照 | 短尺またはコンプレックスモーション |
| Seedance 2.5 | 最大30秒。30画像、10動画、10オーディオクリップ。タイムスタンプ編集 | 長尺または大規模参照セット |
| Wan 3.0 | 2~30秒、30fps、480P~1080P、最初/最後フレーム、ネイティブオーディオ | 計画されたスタート/エンドコンポジション |
| Wan 3.0 Video Prime | 同じ広いタスクファミリー、速度に最適化 | ターンアラウンド重視のジョブ |
| MiniMax H3 | ネイティブステレオとマルチモーダルコンテキスト付き2K で最大15秒 | 短く、音声主導のショット |
ByteDance は Seedance 2.0 を、テキスト、画像、オーディオ、動画入力を含む統合オーディオビデオモデルとして説明しており、最大9つの画像、3つの動画、3つのオーディオクリップに対応しています[2]。Seedance 2.5 は参照予算と最大持続時間を拡張します[3]。Alibaba の Wan 3.0 ドキュメントは、最初フレームと最初/最後フレーム制御、動画拡張、最大20の混合参照マテリアルを追加します [4]。MiniMax H3 は、ショットがネイティブステレオと2K出力を必要とする場合のコンパクトオプションです[5]。
これらは機能であり、受け入れ率ランキングではありません。公正なランキングには、同じフレーム、プロンプト、期間、解像度、ルート、レビュー基準が必要です。
ステップ3:アイデンティティを失わずにフレームをハンドオフ
変更不可の HTTPS 画像または、キューイングと生成を通じて有効な署名 URL を使用します。10分の URL は、ジョブが開始される前に期限切れになる可能性があります。
その後、正しい画像ロールを選択してください:
- 最初フレームはビデオがその正確なコンポジションから始まることを意味します。フレーム1の連続性が優先事項の場合はこれを使用してください。
- 最初と最後フレームは両端を制約します。計画された遷移には使用してください。ただし、2つの画像が物理的に可能なパスを説明していることを確認してください。
- 参照画像は、ビデオがそのコンポジションで開く必要なく、アイデンティティ、衣装、オブジェクト、またはスタイルを提供します。
承認された最初フレーム1つから始めます。余分な参照は髪、衣装、または光で競合する可能性があるため、ファイルが増えることが自動的にコントロールが増えるわけではありません。
ステップ4:別の肖像ではなく、モーションを書く
Seedream フレームはすでに、人物と部屋がどのように見えるかに答えています。動画プロンプトは時間の経過に伴って何が変わるかに答える必要があります。
この順序を使用してください:
Duration and shot: 5 seconds, one continuous medium shot.
Subject motion: the adult performer turns toward the lamp and takes one slow step.
Camera: locked for 2 seconds, then a gentle 10% push-in.
Preserve: same identity, apparent adult age, robe, hair, room, and lighting.
Audio: quiet room tone and soft fabric movement; no dialogue.
Avoid: cuts, extra people, wardrobe changes, face drift, text, or logos.1つのアクションと1つのカメラムーブは、ドラフトには十分です。被写体が回転し、歩き、座り、話し、表情を変え、カメラが5秒で軌道を描く場合、モデルは6つの移動ターゲットをネゴシエートする必要があります。それをショットに分割してください。
ステップ5:非同期 API を接続
動画 API は通常、ファイルの前にタスク ID を返します。エンドポイントとモデル ID を環境変数に保持し、ホストの現在のフィールド名に従ってください。
const apiKey = process.env.AI_MEDIA_API_KEY!;
const imageEndpoint = process.env.IMAGE_GENERATION_URL!;
const videoEndpoint = process.env.VIDEO_GENERATION_URL!;
const taskEndpoint = process.env.TASK_STATUS_URL!;
async function postJson(url: string, body: unknown) {
const response = await fetch(url, {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(body),
});
const data = await response.json();
if (!response.ok) throw new Error(JSON.stringify(data));
return data;
}
async function waitForTask(taskId: string) {
for (let attempt = 0; attempt < 90; attempt += 1) {
const response = await fetch(`${taskEndpoint}/${taskId}`, {
headers: { Authorization: `Bearer ${apiKey}` },
});
const task = await response.json();
if (task.status === 'completed') return task;
if (task.status === 'failed') {
throw new Error(`${task.error_code ?? 'failed'}: ${task.error ?? ''}`);
}
await new Promise((resolve) => setTimeout(resolve, 4000));
}
throw new Error('Task timed out locally; check its status before resubmitting.');
}
const imageTask = await postJson(imageEndpoint, {
model: process.env.SEEDREAM_MODEL_ID,
prompt: process.env.APPROVED_IMAGE_PROMPT,
aspect_ratio: '9:16',
resolution: '1K',
});
const image = await waitForTask(imageTask.task_id);
// Human approval and rights checks happen here.
const videoTask = await postJson(videoEndpoint, {
model: process.env.VIDEO_MODEL_ID,
prompt: process.env.APPROVED_MOTION_PROMPT,
first_frame_url: image.output_url,
duration: 5,
resolution: '480P',
});
const video = await waitForTask(videoTask.task_id);
console.log(video.output_url);これはアダプター例であり、ユニバーサルスキーマではありません。ホストは画像フィールド、メディア配列、解像度の大文字小文字、タスク応答で異なります。それを一度マップしてください。選択した API がドキュメント化するときにのみ、フィルターフィールドを実装してください。モデル名はそのフィールドを安全に定義しません。
ステップ6:まず試して、承認されたショットのために支払い
4~6秒を最も低い有用な解像度で開始します。Wan 3.0 は 480P でドラフトできます。プロンプト、ソースハッシュ、モデル ID、ルート、および利用可能な場所でシードを固定したまま、バージョンを比較します。
承認されたクリップごとに、提出されたタスクではなく、コストを追跡してください:
accepted clip cost =
(all source-image attempts + all video attempts + review/storage cost)
/ accepted clips安い却下ドラフトは節約ではありません。より高価なモデルは、再試行が少ない場合、承認されたクリップあたりのコストが低い可能性があります。独自の承認されたテストセットで測定してください。
段階別の失敗を読む
| 失敗ポイント | 可能性が高いクラス | 次のアクション |
|---|---|---|
| タスク ID 前にリクエストが拒否 | 無効なフィールド、メディア、アカウント、またはプリチェック | 契約エラーを修正。盲目的に再試行しない |
| タスクが開始され、ポリシーコードで失敗 | モデルまたはプロバイダーの決定 | ターミナルとして扱い、リクエストを利用規約に対して確認 |
| タスクは完了したがファイルが解放されない | 出力レビュー | 出力カテゴリを確認。単語をそれが滑るまで変更し続けない |
| サービスがソース画像を取得できない | 期限切れ URL、ブロック済みホスト、MIME、またはサイズ | アセット配信を修復。これはモデレーションの証拠ではない |
| ポーラーがタイムアウト | ローカルタイムアウトまたは長いキュー | 重複する請求可能なタスクを作成する前に、同じタスク ID を照会してください |
成人のみのコントロールはモデルの外に存在
生成呼び出しはシステムの真ん中であり、最初ではありません。アセットが Seedream に到達する前に、それを所有している人と何を使用することが許可されたかを記録してください。ビデオが公開される前に、プロンプトだけではなく、レンダリングされたファイルを確認してください。
少なくとも、以下を保持してください:
- 描写されたすべての実人物に対する年齢保証の決定。
- 生成、編集、保存、配布をカバーする署名された同意書。
- 公人および非合意的な実人物のセクシュアライゼーションのブロック。
- 未成年および曖昧な年齢の結果に対するハード拒否。
- 入力ハッシュ、出力ハッシュ、モデル ID、タイムスタンプ、レビュアー決定。
- アクセス制御、報告、削除、削除手順。
- ローカル法、発行者ルール、支払いルール、年齢ゲートの宛先チェック。
親密な画像を作成することへの同意は、それを配布することへの同意ではありません。米国司法省はその区別を明示的に述べています [6]。NCMEC はまた、合成児童虐待素材からの重大な害と法的リスクを文書化しています。フィクショナルまたは生成出力はループホールではありません[7]。
出所情報については、ツールチェーンがサポートしている場合は、改ざん防止レコードを添付してください。C2PA コンテンツ認証情報は、署名されたマニフェストにバインドされた作成と編集に関する主張を伝達できます[8]。彼らは同意レコードを置き換えないが、制作履歴をより簡単に監査できるようにします。
最終レビューチェックリスト
すべての答えが「はい」でない限り、クリップを承認しないでください:
- 描かれたすべての人物は明確に成人ですか?
- アイデンティティはフィクショナル、ライセンス、または特定の書面による同意の対象ですか?
- 著名人、公人、または著名人への偶然の類似性はありませんか?
- 出力は承認されたフレームの一部ではなかった余分な人々を避けていますか?
- 顔、手、四肢、反射、衣装、外見上の年齢は安定していますか?
- モーションは承認されたショットと一致し、新しい行為を追加していませんか?
- オーディオは意図しない名前、対話、または認識できる音楽がありませんか?
- 入力、プロンプト、モデル、出力、レビュアー、および権利レコードはリンクされていますか?
- 意図した発行者は対象地域の最終カテゴリを許可していますか?
FAQ
Seedance、Wan、MiniMax H3 は検閲されていないのですか?
モデルファミリー名からそれを推測しないでください。正確なエンドポイントの現在のドキュメントと利用規約を確認してください。本ガイドは Seedance、Wan、または MiniMax H3 に対する普遍的な受け入れの主張を行いません。
初心者はどのモデルを選ぶべきですか?
長尺または参照が多いテイクは Seedance 2.5 を使用し、最初/最後フレーム制御は Wan 3.0 を使用し、ターンアラウンドが優先される場合は Wan Video Prime を使用し、短い 2K の結果でネイティブステレオが必要な場合は MiniMax H3 を使用してください。同じ安全なショットをテストしてから品質をランク付けしてください。
Seedream 5.0 Pro はソース画像を生成できますか?
はい。Seedream でアイデンティティ、コンポジション、照明、衣装、アスペクト比を決定してから、承認された画像をビデオモデルに送信してください。
MiniMax H3 Max は H3 のモデレーション動作を継承していますか?
それを仮定しないでください。正確な H3 Max モデル ID の現在のフィールドと利用規約を確認してください。
実人物をアニメーション化できますか?
生成された使用と配布に対する特定の許可を与えた検証済みの成人の場合のみ。一般的な写真リリースは、合成的な親密なメディアをカバーしないかもしれません。
1つのコンテンツチェックをオフにすることで結果が保証されますか?
いいえ。設定は1つのプリチェック、出力チェック、またはルート選択に影響を与える可能性があります。すべてのモデル、ベンダー、法的、または公開制限を無効化することはできません。
「検閲されていない」という言葉ではなく、承認の周りに構築
機能的な NSFW 動画 API パイプラインは通常です:合法的な成人ソースフレームを承認し、動画モデルを選択し、安いドラフトを実行し、ファイルを確認し、権利レコードを保持してください。Seedream 5.0 Pro がキーフレームを作成し、Seedance、Wan、または MiniMax H3 がそれをアニメーション化します。
信頼性は、各決定を正しい段階に割り当てながら、年齢、同意、権利、公開、および承認をモデルの外に保つことから生まれます。
参考資料
- ByteDance Seed. Beyond Generation, It Understands Design | Introducing Seedream 5.0 Pro. Retrieved September 2026 from seed.bytedance.com/en/blog/beyond-generation-it-understands-design-introducing-seedream-5-0-pro
- ByteDance Seed. Seedance 2.0 Official Launch. Retrieved September 2026 from seed.bytedance.com/blog/seedance-2-0-official-launch
- ByteDance Seed. One-take Creation, Flexible Referencing: Introducing Seedance 2.5. Retrieved September 2026 from seed.bytedance.com/en/blog/one-take-creation-flexible-referencing-introducing-seedance-2-5
- Alibaba Cloud Model Studio. Wan3.0 Video Generation. Retrieved September 2026 from docs.modelstudio.console.alibabacloud.com/en/model-studio/wan3-video-generation-guide
- MiniMax. MiniMax H3: An Open Model Breaking the Boundaries Between Tasks and Modalities. Retrieved September 2026 from minimax.io/blog/minimax-h3
- U.S. Department of Justice. Sharing of Intimate Images Without Consent: Know Your Rights. Retrieved September 2026 from justice.gov/ovw/sharing-intimate-images-without-consent-know-your-rights
- National Center for Missing & Exploited Children. Generative AI. Retrieved September 2026 from ncmec.org/GAI
- Coalition for Content Provenance and Authenticity. Content Credentials: C2PA Technical Specification 2.4. Retrieved September 2026 from spec.c2pa.org/specifications/specifications/2.4
著者

カテゴリ
他の記事

Claudeのコンテキストウィンドウ:何がカウントされるか
Claudeのコンテキストウィンドウは現在のモデルで1M。ツール定義、保持シンキング、キャッシュがすべて消費します。より多いことが必ずしも良いわけではありません。


GPT-6 Astraはどこで使える?Chat・Work・Codex・API
2026年9月7日時点のGPT-6 Astraアクセス状況。ChatGPT・Work・Codex・APIそれぞれでの利用可否と確認方法、アクセス不可時の対処法を解説します。


Mammouth AI料金プランと制限ガイド2026
Mammouth AIの料金体系を解説:Starter・Standard・Expertプラン、3時間ごとのクォータリセット、含まれるAPIクレジット、従量課金、ファイル上限を網羅します。
