Screen a Prompt
テキスト、画像、またはその両方を送信して、判定を取得します。
Get Moderation Usage
課金対象のスクリーン数と次回の請求額を確認します。
概要
Moderation APIは、AI製品がユーザー入力をもとに生成する前に、その入力をスクリーニングします。プロンプトのテキスト、画像、またはその両方を送信すると、Dodo Paymentsは各コンテンツカテゴリのスコアとともに、allow、flag、またはdenyの判定を返します。
ユーザーからの入力を受け取る画像、動画、またはテキスト生成モデルの前段で利用できます。Moderation APIはデフォルトですべてのビジネスに対して有効で、既存のDodo Payments API keyで実行されるため、登録は必要ありません。Dodo Paymentsは個別のビジネスに対して無効化でき、その場合、呼び出しは403とMODERATION_DISABLEDを返します。
Moderation APIを構築した理由
AI生成製品は、ユーザーが入力した内容をもとに新しいコンテンツを作成します。すべてのプロンプトを手作業で確認することはできず、有害な出力が1つあるだけでもビジネスがリスクにさらされる可能性があります。 Merchant of Recordとして、Dodo Paymentsはプラットフォームを通じて販売されるものについて、法的および評判上の責任を負います。Merchant Acceptance PolicyではAIコンテンツ生成ツールを審査しており、AI生成コンテンツを含む、なりすまし、ディープフェイク、露骨なコンテンツを許可していません。有害なコンテンツ、過度なチャージバック、または決済パートナーからのフラグを生成するアカウントは、審査または停止の対象となる場合があります。 モデルがコンテンツを作成する前に停止できるよう、Moderation APIを構築しました。- 生成前にスクリーニングする。 ブロックされたプロンプトはモデルに到達しないため、有害な出力は生成されず、そのためのコンピュートも消費しません。
- 生成に重要なカテゴリをカバーする。 スクリーニングでは17のカテゴリをスコアリングします。実在人物の肖像、同意のない性的画像、未成年を示唆する表現、実在人物と性的コンテンツの組み合わせによる性的ディープフェイクなどが含まれます。
- 別のベンダーなしで統合する。 APIはDodo Payments API keyで実行され、料金は残高から引き落とされます。別の契約、請求書、アカウントは必要ありません。
- ユーザーコンテンツを非公開に保つ。 Dodo Paymentsはスクリーニングしたテキストや画像を保存またはログ記録しません。
Moderation APIは、独自の取り締まりを行うためのツールです。Merchant Acceptance Policyに代わるものではなく、製品が生成するものについては引き続きお客様が責任を負います。
仕組み
ユーザーがプロンプトを送信した後、モデルを実行する前に、バックエンドからModeration APIを呼び出します。 各呼び出しは1つのスクリーンです。同じ呼び出しで送信されたテキストと画像は、1つのスクリーンとしてカウントされます。判定
decisionフィールドに判定が含まれます。
プロンプトのスクリーニング
プロンプトをスクリーニングするには、POSTリクエストを/moderation/screenに送信し、textまたはimageの少なくとも一方を含めます。リクエストでは3つのフィールドを受け付けます。
TypeScriptおよびPython SDKでは、エンドポイントを
client.moderation.screen()として提供しています。この例では、deny、flag、およびすべてのエラーで生成をブロックします。
例ではlive modeを呼び出しています。moderation modelが実行されるのはlive modeのみだからです。Test modeはモック判定を返し、コンテンツのスクリーニングは行いません。live modeのスクリーンは課金対象です。
flagをdenyと同様に扱います。製品で一部のフラグ付きコンテンツを許可する場合は、triggeredを確認してカテゴリごとに判断してください。
画像のスクリーニング
アップロードされた参照画像、または生成後に表示する前の画像をスクリーニングするには、画像を送信します。画像は次の要件を満たす必要があります。- 形式はJPEG、PNG、WebP、GIF、またはBMPです。
- base64文字列は最大6,991,530文字で、デコード後の画像は最大5 MiBです。
- 画像は単一の静止フレームです。アニメーションGIFおよびWebP画像は拒否されます。
- 長い辺が32ピクセル以上です。
MODERATION_INVALID_IMAGEを伴う400、またはサイズが大きすぎる場合はMODERATION_INPUT_TOO_LARGEを伴う413を返します。
画像をスクリーニングするには、ファイルを読み取り、base64としてエンコードし、imageで送信します。画像とそのプロンプトを同時にスクリーニングするには、同じ呼び出しでtextとimageの両方を送信します。これは1つのスクリーンとしてカウントされます。この例では、前の例のclientを使用しています。
レスポンスの読み取り
レスポンスには、判定とその根拠が返されます。
ロジックは
decisionとtriggeredをもとにしてください。カテゴリごとに独自のしきい値があるため、コードで単一のスコアカットオフを使用しても判定とは一致しません。
カテゴリ
すべてのレスポンスで、コンテンツを17のカテゴリに照らしてスコアリングします。エラー処理
エラーは、codeとmessageを含む標準のDodo Paymentsエラーボディを返します。エラーは判定ではないため、いずれも生成を許可しません。
SDKはデフォルトで
429または503を2回再試行し、試行の間にRetry-Afterの時間待機します。再試行回数を使い切るとSDKはエラーを発生させるため、コードでリクエストをブロックする必要があります。
統合のテスト
Test modeはモック判定を返し、moderation modelを呼び出さないため、費用をかけずにルーティングをテストできます。Test mode API keyを使用して、https://test.dodopayments.comにリクエストを送信します。
デフォルトのモック判定はallowです。別の結果を取得するには、textのどこかに次の文字列のいずれかを含めます。
モック判定にはモックであることを示す注記が含まれ、すべてのカテゴリスコアは
0です。Test modeではlive modeと同じリクエスト検証が適用されます。画像については、base64エンコードと形式を確認しますが、フレーム数や寸法は確認しません。
live modeに移行する前に、統合が各ケースを処理できることを確認してください。
1
Deny Blocks Generation
dodo_mock_denyを送信し、モデルが呼び出されないことを確認します。2
Flag Follows Your Policy
dodo_mock_flagを送信し、製品がポリシーに従って動作することを確認します。3
Overload Retries
dodo_mock_overloadedを送信し、コードがRetry-Afterを待機し、判定なしでは生成しないことを確認します。4
An Outage Blocks Generation
dodo_mock_not_readyを送信し、モデルが呼び出されないことを確認します。5
Every Generation Path Screens
モデルに到達するすべてのコードパスで、最初にModeration APIが呼び出されることを確認します。
料金と請求
Moderation APIの料金は、課金対象のスクリーン1,000件あたり0.30 USDです。無料枠や最低料金はありません。 課金対象のスクリーンとは、判定を返すlive modeのスクリーンです。次のスクリーンは無料で、カウントされません。- Test modeのスクリーン。
429や503を含む、エラーを返すスクリーン。
moderation_feesとして残高台帳に表示されます。PayoutsではModeration Feesとして表示されます。
使用量の追跡
使用量を確認するには、GET /moderation/usageを呼び出します。レスポンスには次の内容が返されます。
アクセスとプライバシー
スクリーニングにはwrite accessを持つAPI keyが必要です。read-only keyを含むすべてのAPI keyで使用量を読み取れます。キーの作成方法とアクセスレベルの設定方法については、Authenticationを参照してください。 Dodo Paymentsはスクリーニングしたテキストや画像を保存せず、ログにも記録しません。各live modeのスクリーンについて、請求および使用量レポートのために、時刻、判定、およびお客様のrequest_idを保持します。
Usage-Based Billing
生成ごとに自分の顧客へ請求します。
Credit-Based Billing
生成クレジットを販売し、使用ごとに差し引きます。