本文へスキップ

開発者向け

NSFW画像API:コードが送ったプロンプトのまま描く

NSFW画像APIとは、規制なしの画像生成をプログラムから呼び出す仕組みのことで、手元のアプリから届いた成人向けのプロンプトを受け取り、文言を先に書き換えずに描画を返します。書き換えられたプロンプトは黙って失敗するので、これは重要です。呼び出しは成功し、レスポンスも正常に見えるのに、画像は頼んだものではありません。VellriaはBearerキー、ポーリングする非同期ジョブ、実行が失敗すると自動で返還される前払いクレジットとともに、カタログ全体をひとつのRESTの形で公開しています。

画像モデル23種、画像ごとに2クレジットから(100クレジット=US$1.00)。 Googleで作成した新規アカウントは特典として20クレジットを受け取れ、7日間有効です。 費用をかけずに試す方法は?

連携が安全対策の層で壊れる理由

多くの画像APIは、見えない書き換えの工程の後ろにあります。文章は提供元がより安全と考える内容に編集され、編集版が描画され、置き換えが起きたことを示すフィールドはレスポンスにありません。アプリケーションの中ではすべてが成功と報告されます。これは最悪の失敗の形です。捕まえるものも再試行するものもなく、入力と静かに食い違う出力がたまっていきます。

2つ目の失敗は、予測できない頻度でエラーとして届く拒否です。昨日通ったプロンプトが今日はポリシーエラーを返します。リクエストが変わったのではなく、判定するモデルが裏で変わったからです。再試行しても助からず、エラーは決定的でなく、それに合わせて書いたコードには、誰も公開していない境界のための特例がたまっていきます。

どちらもレート制限や障害ではないので、ふだん見る場所には現れません。現れるのは自分のパイプラインへの信頼がじわじわ失われるという形で、よくある対応はプロンプトをいじる防御的な仕組みを足すことです。それは自分のものではなかった問題のために出力を悪くします。

モデルの生成例

このページのモデルによる実際の出力を、それを生んだプロンプトとあわせて掲載しています。プロンプトをコピーするか、モデルを開いて自分で実行できます。

  • Natural light portrait of a freckled woman in her thirties with auburn curls and green eyes, wearing an oversized knit sweater, sitting by a rainy cafe window, gentle smile, soft bokeh, photorealistic

    Qwen 3 Pro規制なしテキストから画像

    Natural light portrait of a freckled woman in her thirties with auburn curls and green eyes, wearing an oversized knit sweater, sitting by a rainy cafe window, gentle smile, soft bokeh, photorealistic

    このプロンプトを試す
  • Flat vector illustration of a woman in her thirties doing yoga on a rooftop garden at sunrise, limited warm palette, clean geometric shapes, editorial magazine style, no text

    Bria FIBO 1.5規制なしテキストから画像

    Flat vector illustration of a woman in her thirties doing yoga on a rooftop garden at sunrise, limited warm palette, clean geometric shapes, editorial magazine style, no text

    このプロンプトを試す
  • Cinematic interior of a 1960s jazz club, a sultry singer in her thirties in a sequined emerald gown at a vintage microphone, smoky haze, a single spotlight, band silhouettes behind her, warm tungsten film look

    Qwen 3 Pro規制なしテキストから画像

    Cinematic interior of a 1960s jazz club, a sultry singer in her thirties in a sequined emerald gown at a vintage microphone, smoky haze, a single spotlight, band silhouettes behind her, warm tungsten film look

    このプロンプトを試す
  • Evening-wear fashion shot of a Black woman in her thirties in a backless gold sequin gown, looking over her shoulder on a grand marble staircase, warm chandelier light

    Bria FIBO 1.5規制なしテキストから画像

    Evening-wear fashion shot of a Black woman in her thirties in a backless gold sequin gown, looking over her shoulder on a grand marble staircase, warm chandelier light

    このプロンプトを試す
  • Mechanical wristwatch with a deep blue dial floating above rippling water, splash frozen in motion, high-speed studio product photography, no text, no logo

    Seedream 5 Flash規制なしテキストから画像

    Mechanical wristwatch with a deep blue dial floating above rippling water, splash frozen in motion, high-speed studio product photography, no text, no logo

    このプロンプトを試す
  • Skincare serum bottle in frosted amber glass with a dropper, placed on a wet river stone among green leaves, soft natural light, commercial product photography, no text, no logo

    Bria FIBO 1.5規制なしテキストから画像

    Skincare serum bottle in frosted amber glass with a dropper, placed on a wet river stone among green leaves, soft natural light, commercial product photography, no text, no logo

    このプロンプトを試す
  • Qwen 3 Pro規制なしのカバーアート

    画像

    Qwen 3 Pro規制なし

    残したい1枚のための上位版。最大3枚の参照画像で編集できます。

    10クレジット
  • Bria FIBO 1.5規制なしのカバーアート

    画像

    Bria FIBO 1.5規制なし

    7種類の比率の4MP画像を、すべて同じ料金で。最大4枚の参照画像で追加料金なしに編集できます。

    10クレジット

この用途のモデルを並べて比較

モデルサンプル料金最大サイズ参照画像
Seedream 5 Pro規制なしSeedream 5 Pro規制なしの出力サンプル10クレジット1536×1536最大10枚
Qwen 3規制なしQwen 3規制なしの出力サンプル8クレジット2048×2048最大3枚
Qwen 3 Pro規制なしQwen 3 Pro規制なしの出力サンプル10クレジット1440×1440最大3枚
Qwen Image Edit 2511規制なしQwen Image Edit 2511規制なしの出力サンプル6クレジット1280×960最大3枚
Qwen Image 2.1規制なしQwen Image 2.1規制なしの出力サンプル7クレジットから1184×896最大10枚
Seedream 5 Lite規制なしSeedream 5 Lite規制なしの出力サンプル8クレジット4704×2016最大10枚
Seedream 4.5規制なしSeedream 4.5規制なしの出力サンプル9クレジット2848×1600最大10枚
Seedream 4規制なしSeedream 4規制なしの出力サンプル7クレジット2816×1584最大10枚
Wan 2.7規制なしWan 2.7規制なしの出力サンプル8クレジット2K最大9枚
Bria FIBO 2.0規制なしBria FIBO 2.0規制なしの出力サンプル10クレジット2048×2048最大4枚
Bria FIBO 1.5規制なしBria FIBO 1.5規制なしの出力サンプル10クレジット2048×2048最大4枚
MiniMax H3 Image規制なしMiniMax H3 Image規制なしの出力サンプル8クレジット1184×896最大9枚
Seedream 5 Flash規制なしSeedream 5 Flash規制なしの出力サンプル8クレジット2816×1584最大10枚
Z-Image Turbo規制なしZ-Image Turbo規制なしの出力サンプル2クレジット2048×2048なし
Anima規制なしAnima規制なしの出力サンプル5クレジット1024×1024最大1枚
Vellria Anime Pro Spicy規制なしVellria Anime Pro Spicy規制なしの出力サンプル10クレジット1536×1536最大10枚
Pruna P-Image規制なしPruna P-Image規制なしの出力サンプル4クレジット1024×1024最大5枚
Flux 2 Klein 9B規制なしFlux 2 Klein 9B規制なしの出力サンプル5クレジット1024×1024最大3枚
Moss Image規制なしMoss Image規制なしの出力サンプル5クレジット1024×1024なし
Jib Mix Qwen Image規制なしJib Mix Qwen Image規制なしの出力サンプル5クレジット1024×1024なし
Z-Image Spicy規制なしZ-Image Spicy規制なしの出力サンプル4クレジット1152×1536なし
Z-Image Spicy Pro規制なしZ-Image Spicy Pro規制なしの出力サンプル5クレジット1680×2520なし
Qwen Image Edit Spicy規制なしQwen Image Edit Spicy規制なしの出力サンプル10クレジット1K最大3枚

料金と上限は最新のモデルカタログから取得しています。

リクエストの形

キーはマイページで発行し、Bearerトークンとして送ります。ジョブを開くエンドポイントはひとつで、モデルを指定し、プロンプトを渡し、そのモデルが受け付ける値を足します。返ってくるのは画像ではなくIDです。接続はすぐに閉じます。数十秒かかる描画をHTTPリクエストの中で待てばタイムアウトは時間の問題で、それを試した連携はどれも同じ教訓を得ています。

その後はジョブを待つのではなく、ジョブについて問い合わせます。そのIDへの素のGETが、作業がどこまで進んだかを答えます。待機中、描画中、完了、失敗のいずれかです。ジョブは開いた接続ではなくサーバーに属するので、呼び出しの合間にプロセスが落ちて再起動しても何も失われません。

早めに身につけたい習慣がひとつあります。モデルIDを定数ファイルに書かず、何があるかをカタログのエンドポイントに尋ねることです。そのエンドポイントはサイト自体の表示元で、台帳の請求の基準でもあるので、何かが変わった瞬間に動きます。ハードコードした一覧は動かず、数週間後、廃止されたサイズを名指しする拒否された呼び出しで気づくことになります。各モデルのページもそのエンドポイントから読み込み、送るべきIDを受け付けるサイズと費用とともに示しています。Seedream API、Qwen画像API、MiniMax H3画像APIのページがその例です。

参照画像とレート制限

カタログの画像モデルはどれも両方の読み方をします。プロンプトだけなら一から生成し、参照画像を1枚以上足せば、同じモデルIDが編集に切り替わります。調べるべき編集専用のIDも、添付をうっかり断るテキスト専用のIDもありません。

参照画像は先に専用のエンドポイントを通ります。ファイルを送り、返ってきたアドレスを控え、ジョブを開くときにそのアドレスを指定します。アドレスを持っていれば誰でもセッションなしで取得でき、これは意図的です。描画を行うマシンはアカウントの外にあり、それでもファイルを読む必要があるからです。

流量の制限はアカウントごとに数えられ、拒否のレスポンスが待つべき秒数を伝えます。この数値は再試行のロジックが読むためにあり、人が後から読み返すログの1行とは設計の目的が違います。

失敗したジョブで損をしない請求

請求が発生するのはジョブの終わりではなく始まりです。作業が発注されるのはその瞬間だからです。そこから導かれるのが、自動で呼び出す側にとって大切な点です。生成サービスの中で失敗したジョブは、失敗の状態に入った時点でクレジットをそのまま返します。申請も、メールを送る相手も要りません。

従量課金のクレジットが勝手に更新されることはありません。例外は任意の月額プランだけで、それを選ぶのは利用者です。前払いクレジットだけを使うなら、ある週に20回呼び出し、次の週はゼロというサービスが払うのは20回分です。下に最低料金がないからです。どのパックも同じレートでクレジットを買い、パックで買えるのは残高だけです。速いキーも、他のキーが届かないモデルに届くキーもありません。

汎用のAPIマーケットプレイスとの比較

成人向けの画像の用途でfal.ai API、Replicate API、ModelsLabを比べているなら、大切なのは機能の表ではなく、それぞれが初期設定で何をするかです。以下は2026年9月12日時点の各社の文書によるものです。falがFLUX.1 [dev]エンドポイントについて公開しているスキーマでは、enable_safety_checkerがtrueに設定されています。オフにするにはアカウントでの許可が必要で、その許可のないリクエストは常にチェックされ、該当した画像は黒い画像で返されます。ModelsLabのテキストから画像のリファレンスも、safety_checkerの初期値をtrueとし、該当した画像を空白の画像に置き換えます。一方、2023年6月24日付の同社の利用規約にあるのは違法または有害な利用に対する一般的な条項だけで、成人向けの内容そのものについては何も書かれていません。

ポリシー文書はパラメーター以上に分かれています。2026年8月5日から施行されているNovitaのAcceptable Use Policyは、性的に露骨な出力を禁止された用途に挙げ、成人向けの用途を選べる仕組みは書かれていません。2026年4月1日に最終更新されたReplicateの規約は、本人の同意を欠く裸体の表現と法に反する性的素材を禁じ、第8.6条ではサービスが露骨な成人向けコンテンツを生成しうると明言し、その責任は顧客にあるとしています。連携のコードを書く前にこれらの条項を読んでください。そのプラットフォームが何を認めるかを決めるのはそこです。独自の安全設定の初期値を持つVenice AIの画像APIは、Venice AIの代わりにでVellriaと比べています。

請求の形も違います。ModelsLabが売っているのは月額プランで、その差は使えるモデルではなく、呼び出しの量と同時に走らせられる数にあります。falのモデルページはサブスクリプションや最低利用額を掲げず、その画像モデルをメガピクセル単位で価格設定しています。Novitaは従量課金で、Vellriaが確認した画像モデルでは1枚ごとに課金します。Vellriaは後の2つに近く、前払いの残高と、各モデルのページに載る1枚あたりのクレジット価格で動き、2つある任意の月額プランを自分で選んだ場合を除いて、自動の更新はありません。

Vellriaにないものも、同じくはっきり書いておきます。SDKはないので、ここでの成人向け画像APIの呼び出しは、どの言語からでもJSONの本文を送る素のHTTPSです。画像と動画のエンドポイントはOpenAI互換ではないので、ベースURLを差し替えてもOpenAIのクライアントでは動きません。例外はチャットで、Uncensored Chatのモデルに限りOpenAI互換の口があります。外向きのWebhookもなく、ジョブの結果はポーリングで知ります。どれかが必須なら、スタックのその部分にVellriaは向きません。自分で動かすウェイトが必須なら、オープンソースのNSFWモデルかホスティング型のAPIかが、その道の費用を説明しています。

境界を一度だけ

プロンプトを書き換えるものはなく、開かれる範囲は本当に広く、成人向けの作品も含まれます。キー、残高、エンドポイントにかかわらず閉じたままのものもあります。獣姦、近親相姦、非同意、過激なゴアのようにフィクションでも規約が禁じる区分です。その線を越えればアカウントはキーごと失われます。

自動チェックが読むのはプロンプトの文章で、断ったリクエストはクレジットが動く前にエラーとして返ります。参照画像の中身は確認されず、写っているものを理由に断られる画像はなく、この経路にimage_blockedの拒否はありません。NSFW画像生成AIで認められることのページにポリシーの全文があり、APIリファレンスにリクエストの本文、ステータスコード、エラーの形があります。静止画ではなく動画なら、NSFW動画APIが同じキーと同じポーリングで使えます。

よくある質問 ( 6 )

よくある質問

APIはプロンプトに手を加えたり、ふるいにかけたりしますか?

いいえ。コードが送ったものが、そのままモデルの描くものです。残るのは範囲の狭いプロンプトの自動チェックだけで、口調や露骨さは見ません。チェックで断られたリクエストは、黙って差し替えられるのではなく、クレジットが動く前にはっきりしたエラーとして返るので、アプリケーションは出力で気づくのではなくエラーとして処理できます。

結果は同期で返りますか?

いいえ、状態を問い合わせる方式です。生成を始めるとすぐに記録のIDが返り、ジョブが完了か失敗になるまでその記録を読み続けます。ジョブはそれを開いたリクエストではなくサーバー上にあるので、プロセスが再起動しても接続が切れても何も失われません。

生成に失敗するとクレジットはどうなりますか?

取り消しは自動です。請求はジョブが開くときに行われ、生成サービス側の失敗は、ジョブが失敗の状態に入った瞬間にその請求を返します。クレジットはひとりでに残高に戻るので、後段で差額を手作業で突き合わせる必要はありません。

コードから参照画像を送れますか?

はい、別のアップロードの手順を経て送ります。まずファイルを上げ、戻ってきたURLを保存し、ジョブを開く際にそのURLで画像を指し示します。描画するマシンはアカウントの外にあるので、取得にセッションは要りません。

大量利用向けの別のキーやプランはありますか?

階層はありません。キーはマイページから発行され、どのキーも同じ条件でカタログ全体に届きます。量はプランではなく残高の問題です。レート制限はアカウントごとにかかり、制限されたレスポンスには待つべき秒数が含まれます。

SDKやOpenAI互換のエンドポイントはありますか?

SDKはなく、画像のエンドポイントはOpenAI互換ではありません。リクエストはJSONの本文とBearerキーを使うふつうのHTTPSなので、どのHTTPクライアントでも動きますが、インストールする公式ライブラリはなく、別のベースURLに向けたOpenAIのクライアントでは画像生成を動かせません。OpenAI互換のエンドポイントはUncensored Chat用のチャットだけです。画像の結果はWebhookではなくポーリングで受け取ります。連携の手順を追ったガイドが、一連の流れをコードで示しています。