Skip to main content

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 생성 제품은 사용자가 입력하는 내용을 바탕으로 새로운 콘텐츠를 만듭니다. 모든 프롬프트를 수동으로 검토할 수는 없으며, 유해한 출력 하나만으로도 비즈니스가 위험에 처할 수 있습니다. Merchant of Record인 Dodo Payments는 플랫폼을 통해 판매되는 항목에 대해 법적·평판상의 책임을 집니다. Merchant Acceptance Policy는 AI 콘텐츠 생성 도구를 검토하며, AI로 생성된 콘텐츠를 포함해 사칭, 딥페이크 또는 노골적인 콘텐츠를 허용하지 않습니다. 유해한 콘텐츠, 과도한 chargeback 또는 payment partner의 플래그를 생성하는 계정은 검토 대상이 되거나 정지될 수 있습니다. 모델이 이러한 콘텐츠를 생성하기 전에 차단할 수 있도록 Moderation API를 만들었습니다:
  • 생성 전에 검사합니다. 차단된 프롬프트는 모델에 도달하지 않으므로 유해한 출력이 존재하지 않으며 해당 작업에 컴퓨팅 리소스를 사용할 필요도 없습니다.
  • 생성에 중요한 카테고리를 다룹니다. 검사는 실제 인물의 유사성, 비동의 интим 이미지, 미성년자를 암시하는 언어, 그리고 실제 인물과 성적 콘텐츠의 결합으로 성적 딥페이크를 나타내는 항목을 포함한 17개 카테고리에 점수를 매깁니다.
  • 다른 vendor 없이 통합합니다. API는 Dodo Payments API key로 실행되며 요금은 잔액에서 차감됩니다. 별도의 계약, invoice 또는 계정이 필요하지 않습니다.
  • 사용자 콘텐츠를 비공개로 유지합니다. Dodo Payments는 검사하는 텍스트와 이미지를 저장하거나 log에 기록하지 않습니다.
Moderation API는 자체 정책 시행을 위한 도구입니다. Merchant Acceptance Policy를 대체하지 않으며, 제품이 생성하는 콘텐츠에 대한 책임은 여전히 귀사에 있습니다.

작동 방식

사용자가 프롬프트를 제출한 후 모델이 실행되기 전에 backend에서 Moderation API를 호출합니다: 각 호출은 하나의 검사입니다. 동일한 호출에서 텍스트와 이미지를 함께 전송해도 검사 하나로 계산됩니다.

판정

decision field에 판정이 포함됩니다:
판정을 받지 못한 경우 생성하지 마세요. 503는 Dodo Payments가 판정을 생성하지 못했다는 의미이며, timeout 또는 network error가 발생하면 판정을 받을 수 없습니다. 이 모든 경우를 차단으로 처리하고 사용자에게 다시 시도하도록 요청하세요.

프롬프트 검사

프롬프트를 검사하려면 POST request를 /moderation/screen로 전송하고, text와 image 중 하나 이상을 포함합니다. 요청은 세 field를 받습니다: TypeScript 및 Python SDK는 endpoint를 client.moderation.screen()로 제공합니다. 이 예시는 deny, flag 또는 모든 error 발생 시 생성을 차단합니다:
예시는 live mode만 moderation model을 실행하므로 live mode를 호출합니다. Test mode는 mock verdicts를 반환하며 콘텐츠를 검사하지 않습니다. Live mode 검사는 청구됩니다.
이 예시는 flag를 deny와 동일하게 처리합니다. 제품에서 일부 flagged content를 허용하는 경우 triggered를 확인하여 카테고리별로 결정하세요.
사용자가 작성한 텍스트를 검사하고, 그 주위를 감싸는 prompt template은 검사하지 마세요. 자체 template은 모든 호출에서 동일하며 검사에 아무것도 추가하지 않습니다.

이미지 검사

업로드된 reference image 또는 생성된 이미지를 사용자에게 표시하기 전에 검사하려면 이미지를 전송합니다. 이미지는 다음 요구 사항을 충족해야 합니다:
  • 형식은 JPEG, PNG, WebP, GIF 또는 BMP입니다.
  • base64 string은 최대 6,991,530자이며, decode된 이미지는 최대 5 MiB입니다.
  • 이미지는 하나의 still frame이어야 합니다. Animated GIF 및 WebP 이미지는 거부됩니다.
  • 가장 긴 변은 최소 32 pixel이어야 합니다.
이 검사 중 하나를 통과하지 못한 이미지는 400와 MODERATION_INVALID_IMAGE를 반환하거나, 너무 큰 경우 413와 MODERATION_INPUT_TOO_LARGE를 반환합니다. 이미지를 검사하려면 file을 읽고 base64로 encode한 다음 image로 전송합니다. 이미지와 해당 프롬프트를 함께 검사하려면 동일한 호출에서 text와 image를 모두 전송합니다. 이는 하나의 검사로 계산됩니다. 이 예시는 이전 예시의 client를 사용합니다:
이미지 검사 error도 텍스트 검사와 동일하게 처리합니다. 호출에서 exception이 발생하면 생성하지 마세요.

Response 읽기

response에는 판정과 이를 뒷받침하는 근거가 반환됩니다: 로직은 decision 및 triggered를 기준으로 작성하세요. 각 카테고리에는 고유한 threshold가 있으므로 code에서 단일 score cutoff를 사용하면 판정과 일치하지 않습니다.

카테고리

모든 response는 콘텐츠를 17개 카테고리와 비교하여 score를 계산합니다:

Error 처리

Error는 code 및 message가 포함된 표준 Dodo Payments error body를 반환합니다. 어떤 error도 판정이 아니므로 어느 경우에도 생성을 허용해서는 안 됩니다: SDK는 기본적으로 429 또는 503를 두 번 retry하고 시도 사이에 Retry-After만큼 기다립니다. retry가 모두 소진되면 SDK가 error를 발생시키며, code는 요청을 차단해야 합니다.

통합 테스트

Test mode는 mock verdicts를 반환하고 moderation model을 호출하지 않으므로 비용 없이 routing을 테스트할 수 있습니다. Test mode API key를 사용하여 https://test.dodopayments.com로 request를 전송합니다. 기본 mock verdict는 allow입니다. 다른 결과를 받으려면 text 어디에든 다음 string 중 하나를 넣습니다: Mock verdict에는 mock임을 알리는 note가 포함되며 모든 category score는 0입니다. Test mode는 live mode와 동일한 request validation을 적용합니다. 이미지의 경우 base64 encoding과 format은 확인하지만 frame count나 dimensions는 확인하지 않습니다. Live mode로 전환하기 전에 통합이 각 case를 처리하는지 확인합니다:
1

Deny Blocks Generation

dodo_mock_deny를 전송하고 model이 호출되지 않는지 확인합니다.
2

Flag Follows Your Policy

dodo_mock_flag를 전송하고 제품이 policy에 명시된 대로 동작하는지 확인합니다.
3

Overload Retries

dodo_mock_overloaded를 전송하고 code가 Retry-After를 기다리며 판정 없이 생성하지 않는지 확인합니다.
4

An Outage Blocks Generation

dodo_mock_not_ready를 전송하고 model이 호출되지 않는지 확인합니다.
5

Every Generation Path Screens

model에 도달하는 모든 code path가 먼저 Moderation API를 호출하는지 확인합니다.

Pricing 및 Billing

Moderation API의 요금은 청구 가능한 검사 1,000건당 $0.30 USD입니다. 무료 tier와 minimum은 없습니다. 청구 가능한 검사는 판정을 반환하는 live mode 검사입니다. 다음 검사는 무료이며 계산되지 않습니다:
  • Test mode의 검사입니다.
  • 429 및 503를 포함해 error를 반환하는 검사입니다.
Dodo Payments는 1,000건 단위로 검사 요금을 전액 청구합니다. 각 단위는 1시간 이내에 청구되며, 단위를 채우지 못한 검사는 단위가 채워질 때까지 청구되지 않습니다. 요금은 USD balance에서 차감되며 event type moderation_fees와 함께 balance ledger에 표시됩니다. Payout에는 Moderation Fees로 표시됩니다.

Usage 추적

usage를 확인하려면 GET /moderation/usage를 호출합니다. response는 다음을 반환합니다:
Test mode에서는 검사가 기록되지 않으므로 usage endpoint는 test mode activity를 반환하지 않습니다.

Access 및 Privacy

검사에는 write access가 있는 API key가 필요합니다. read-only key를 포함한 모든 API key는 usage를 읽을 수 있습니다. key를 생성하고 access level을 설정하는 방법은 Authentication을 참조하세요. Dodo Payments는 검사하는 텍스트나 이미지를 저장하지 않으며 log에도 기록하지 않습니다. 각 live mode 검사에 대해 billing 및 usage reporting을 위해 시간, 판정 및 request_id를 보관합니다.

Usage-Based Billing

각 generation에 대해 자체 customer에게 요금을 청구합니다.

Credit-Based Billing

generation credit를 판매하고 사용량별로 차감합니다.
마지막 수정일 2026년 9월 26일