HappyHorse 1.0 정식 출시지금 사용하기
이미지 모더레이션 API 가이드: 사용자 업로드 이미지에서 부적절한 콘텐츠를 필터링하는 방법
guide

이미지 모더레이션 API 가이드: 사용자 업로드 이미지에서 부적절한 콘텐츠를 필터링하는 방법

EvoLink Team
EvoLink Team
Product Team
2026년 4월 29일
23분 소요
이미지 모더레이션 API는 안전하지 않거나 원치 않는 시각적 콘텐츠가 사용자에게 도달하기 전에 이를 감지하는 데 도움을 줍니다. 사용자 업로드 이미지가 있는 앱의 경우, 일반적으로 아바타, 포럼 게시물, 마켓플레이스 사진, 채팅 첨부파일 또는 AI 생성 이미지에서 성적 콘텐츠, 폭력, 자해, 잔인한 콘텐츠 또는 기타 정책 위반 여부를 확인하는 것을 의미합니다.

어려운 부분은 API를 호출하는 것이 아닙니다. 어려운 부분은 API를 중심으로 업로드 워크플로우를 설계하는 것입니다.

이 가이드에서는 이미지 모더레이션이 어디에 적용되는지, 이미지 API가 감지할 수 있는 것과 없는 것은 무엇인지, 그리고 EvoLink Moderation 1.0을 사용하여 실용적인 허용 / 검토 / 차단 워크플로우를 구축하는 방법을 설명합니다.

TL;DR

  • 공개 또는 반공개 사용자가 아바타, 게시물, 마켓플레이스 사진, AI 생성 이미지 또는 메시지 첨부파일을 업로드할 수 있는 경우 이미지 모더레이션을 사용합니다.
  • 이미지가 공개적으로 노출되기 전에 서버 측 모더레이션을 실행합니다.
  • 임시 스토리지를 사용한 후 승인된 이미지만 영구 스토리지로 이동합니다.
  • 자동화된 모더레이션은 첫 번째 레이어로 취급하고, 완벽한 최종 결정으로 간주하지 않습니다.
  • 모호한 경우를 위해 사람의 검토, 사용자 신고 및 이의 제기를 추가합니다.
  • EvoLink Moderation은 OpenAI 호환 /v1/moderations endpoint를 통해 이미지 전용 및 텍스트+이미지 요청을 지원합니다.

이미지 모더레이션이 텍스트 모더레이션과 다른 이유

텍스트 모더레이션과 이미지 모더레이션은 관련되어 있지만 서로 다른 문제를 해결합니다.

텍스트 모더레이션은 단어, 구문 및 언어 패턴을 검사할 수 있습니다. 이미지 모더레이션은 픽셀, 객체, 시각적 맥락, 때로는 이미지에 포함된 텍스트를 해석해야 합니다.

이로 인해 여러 가지 차이점이 발생합니다:

항목텍스트 모더레이션이미지 모더레이션
입력 크기일반적으로 작음종종 훨씬 큼
맥락언어와 대화시각적 장면, 객체, OCR, 캡션
일반적인 오류풍자, 은어, 맥락 누락예술 작품, 의료 이미지, 수영복, 밈, 크롭, 오버레이
워크플로우 영향댓글 거부 또는 대기열업로드된 미디어에 임시 스토리지가 필요할 수 있음
사용자 민감도사용자가 종종 다시 작성 가능거부된 프로필 사진이나 개인 이미지는 더 민감하게 느껴질 수 있음

이것이 신뢰할 수 있는 이미지 모더레이션 시스템이 일반적으로 API와 제품 규칙, 검토 대기열 및 사용자 신고를 결합하는 이유입니다.

일반적인 이미지 모더레이션 사용 사례

1. 프로필 사진 및 아바타

프로필 사진은 제품 전체에서 표시됩니다. 또한 악용하기 쉽습니다.

모더레이션 검사에서 일반적으로 확인하는 항목:

  • 성적 또는 노골적인 이미지
  • 잔인한 폭력
  • 자해 이미지
  • 혐오 상징
  • 위협적이거나 협박적인 시각 자료

아바타의 경우 오탐(false positive)이 중요합니다. 정상적인 프로필 사진이 거부되면 사용자 경험이 빠르게 나빠질 수 있습니다. 좋은 패턴은 고위험 이미지만 자동 차단하고, 불확실한 이미지는 검토로 보내며, 명확히 저위험인 이미지는 허용하는 것입니다.

2. 포럼 및 소셜 미디어 업로드

포럼과 소셜 플랫폼은 종종 텍스트와 이미지를 결합합니다. 게시물 캡션은 이미지의 의미를 바꿀 수 있고, 이미지는 캡션의 의미를 바꿀 수 있습니다.

이러한 워크플로우에서는 텍스트+이미지 모더레이션이 유용합니다. 게시 전에 애플리케이션이 제출물의 두 부분을 모두 평가할 수 있기 때문입니다.

3. 마켓플레이스 상품 사진

마켓플레이스 이미지 모더레이션은 NSFW 콘텐츠만의 문제가 아닙니다. 상품 플랫폼에서는 다음 항목도 감지해야 할 수 있습니다:

  • 금지 품목
  • 무기 또는 약물
  • 워터마크
  • 이미지 품질 문제
  • 오해의 소지가 있는 사진
  • 정책에 민감한 시각적 주장

이미지 품질 검사, OCR, 워터마크 감지 또는 마켓플레이스 전용 규칙의 경우 워크플로우에 따라 Sightengine, Amazon Rekognition 또는 Azure AI Content Safety와 같은 전용 비주얼 모더레이션 서비스가 유용할 수 있습니다.

4. AI 생성 이미지

AI 생성 이미지도 콘텐츠 정책을 위반할 수 있습니다. 사용자가 앱 내에서 이미지를 생성하거나 AI 생성 에셋을 업로드하는 경우 다음 두 가지를 모두 모더레이션합니다:

  • 프롬프트 또는 캡션
  • 생성된 이미지

이는 출력물이 공개되거나, 수익화되거나, 브랜드 안전 경험과 연결될 때 특히 중요합니다.

5. 메시징 첨부파일

비공개 또는 반비공개 메시지는 모더레이션이 개인정보 보호 기대와 교차하기 때문에 더 어려운 제품 결정을 만듭니다. 일부 제품은 전달 전에 업로드를 스캔하고, 일부는 신고된 콘텐츠만 스캔하며, 일부는 클라이언트 측 경고와 서버 측 시행을 결합합니다.

올바른 설계는 제품, 법적 의무, 개인정보 보호 정책 및 사용자 기대에 따라 달라집니다.

이미지 모더레이션 API의 작동 원리

대부분의 이미지 모더레이션 API는 동일한 기본 패턴을 따릅니다:

  1. 이미지 URL, 업로드된 파일, 스토리지 객체 또는 이미지 bytes를 제공합니다.
  2. API가 하나 이상의 모더레이션 모델로 이미지를 분석합니다.
  3. 응답에 카테고리 라벨, confidence score 또는 boolean flag가 반환됩니다.
  4. 애플리케이션이 이미지를 허용, 검토 또는 차단할지 결정합니다.
예를 들어, Amazon Rekognition의 DetectModerationLabels API는 confidence score와 계층적 taxonomy와 함께 모더레이션 라벨을 반환합니다. Sightengine의 이미지 모더레이션 API는 선택된 모델에 대한 상세한 모더레이션 score를 반환합니다. OpenAI의 Moderation endpoint는 텍스트와 이미지에 대한 카테고리 flag와 score를 반환하며, 이미지 지원은 카테고리에 따라 다릅니다.

출처:

권장 업로드 아키텍처

대부분의 공개 애플리케이션에서 가장 안전한 패턴은 다음과 같습니다:

user upload
  -> temporary storage
  -> image moderation API
  -> 허용 / 검토 / 차단
  -> permanent storage only if allowed or review-approved

이 방식은 이미지가 검사되기 전에 안전하지 않은 이미지가 공개되는 것을 방지합니다.

Pattern 1: 업로드 전 클라이언트 측 경고

클라이언트 측 검사는 사용자에게 빠르게 경고할 수 있지만, 유일한 시행 레이어가 되어서는 안 됩니다.

클라이언트 측 검사의 용도:

  • 즉각적인 사용자 피드백
  • 업로드 전 명백한 악용 감소
  • 저위험 플로우에서 대역폭 절약

하지만 클라이언트 측 검사는 우회할 수 있으므로 항상 서버 측에서 정책을 시행해야 합니다.

Pattern 2: 업로드 후, 게시 전 모더레이션

이것이 기본 프로덕션 패턴입니다.

  1. 이미지를 임시 비공개 스토리지에 업로드합니다.
  2. 이미지 URL을 모더레이션 API로 전송합니다.
  3. 저위험인 경우 영구 스토리지로 이동합니다.
  4. 중위험인 경우 검토 대기열에 추가합니다.
  5. 고위험인 경우 거부하고 임시 파일을 삭제합니다.

Pattern 3: 비동기 모더레이션

신뢰할 수 있는 커뮤니티나 대용량 워크플로우의 경우, 먼저 저장한 후 백그라운드에서 모더레이션할 수 있습니다. 이 경우 승인될 때까지 이미지를 비공개로 유지하거나 검사가 완료될 때까지 업로더에게만 표시합니다.

EvoLink Moderation 1.0은 다음을 지원합니다:
  • 텍스트 전용 모더레이션
  • 이미지 전용 모더레이션
  • 텍스트+단일 이미지 모더레이션
OpenAI 호환 /v1/moderations endpoint를 사용하며 표준 모더레이션 필드와 evolink_summary를 반환합니다.

summary는 제품 결정을 위해 설계되었습니다:

  • risk_level
  • flagged
  • violations
  • max_score
  • max_category
전체 요청 예제 및 제한 사항은 EvoLink Moderation API 문서를 참조하십시오.

이미지 전용 예제

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_EVOLINK_API_KEY",
    base_url="https://api.evolink.ai/v1"
)

response = client.moderations.create(
    model="evolink-moderation-1.0",
    input=[
        {
            "type": "image_url",
            "image_url": {
                "url": "https://example.com/user-upload.jpg"
            }
        }
    ]
)

risk = response.evolink_summary.risk_level

if risk == "high":
    block_image()
elif risk == "medium":
    send_to_review()
else:
    approve_image()

텍스트+이미지 예제

response = client.moderations.create(
    model="evolink-moderation-1.0",
    input=[
        {"type": "text", "text": "User caption or message"},
        {
            "type": "image_url",
            "image_url": {
                "url": "https://example.com/user-upload.jpg"
            }
        }
    ]
)

다중 이미지 처리

EvoLink Moderation은 요청당 하나의 이미지를 지원합니다. 사용자가 여러 이미지를 업로드하는 경우, 동시 요청을 보내거나 대기열을 통해 처리합니다.

def decide_album_status(results):
    risk_order = {"low": 0, "medium": 1, "high": 2}
    highest = max(results, key=lambda r: risk_order[r.evolink_summary.risk_level])
    return highest.evolink_summary.risk_level

많은 앱에서 하나의 고위험 이미지가 전체 제출을 차단해야 하며, 중위험 이미지는 제출을 검토로 보낼 수 있습니다.

프로덕션 이미지 모더레이션 모범 사례

1. 서버 측에서 모더레이션 수행

클라이언트 측 검사는 UX를 개선할 수 있지만, 서버가 최종 결정을 내려야 합니다. 그렇지 않으면 사용자가 업로드 API를 직접 호출하여 검사를 우회할 수 있습니다.

2. 임시 스토리지 사용

업로드된 이미지를 즉시 게시하지 마십시오. 비공개로 저장하고, 모더레이션한 후, 승인 후에만 공개 bucket 또는 CDN으로 이동합니다.

3. 단계적 결정 사용

단순한 이진 분기를 피합니다. 3단계 워크플로우가 더 많은 제어를 제공합니다:

  • 저위험: 허용
  • 중위험: 검토
  • 고위험: 차단

4. 구체적인 사용자 피드백 제공

일반적인 거부 메시지는 지원 부하를 만듭니다. 가능한 경우 카테고리를 상위 수준에서 설명합니다:

  • "이 이미지에 성적 콘텐츠가 포함된 것으로 보입니다."
  • "이 이미지에 잔인한 폭력이 포함된 것으로 보입니다."
  • "이 이미지는 게시 전 검토가 필요합니다."

사용자가 모더레이션을 회피하는 데 도움이 될 수 있는 정확한 임계값이나 모델 약점을 노출하지 않습니다.

5. 신고 및 이의 제기 추가

어떤 모델도 완벽하지 않습니다. 팀이 오탐을 수정하고 미탐을 잡을 수 있도록 사용자 신고 및 이의 제기를 추가합니다.

6. 모더레이션 품질 추적

측정 항목:

  • 거부율
  • 검토 대기열 비율
  • 검토자 재결정 비율
  • 이의 제기 성공률
  • 사용자 신고율
  • 반복 위반자 비율
  • 지연 시간 및 API 오류율

이 수치들은 임계값을 조정하고 추가 모더레이션 레이어가 필요한 시기를 결정하는 데 도움이 됩니다.

7. 실제 콘텐츠로 테스트

자체 애플리케이션의 익명화되거나 정책에 안전한 샘플을 사용합니다. 공개 벤치마크 주장은 모더레이션 API가 실제 커뮤니티, 마켓플레이스 또는 이미지 스타일에서 어떻게 동작할지 거의 예측하지 못합니다.

일반적인 실수

실수 1: 하나의 API가 모든 것을 잡는다고 가정

이미지 모더레이션 API는 유용하지만 모든 제품 정책을 이해하지는 못합니다. 마켓플레이스 카테고리, 브랜드 안전, 저작권, 워터마크 또는 현지 규정을 위한 커스텀 규칙이 여전히 필요할 수 있습니다.

실수 2: 모더레이션 완료 전에 게시

안전하지 않은 이미지가 잠시라도 표시될 수 있다면, 사용자가 스크린샷을 찍고 공유할 수 있습니다. 검사가 완료될 때까지 업로드를 비공개로 유지합니다.

실수 3: 불확실한 모든 이미지 차단

지나치게 엄격한 임계값은 오탐을 만듭니다. 모든 것을 자동으로 거부하는 대신 불확실한 콘텐츠를 검토로 보냅니다.

실수 4: 이미지 주변의 텍스트 무시

캡션은 이미지의 의미를 바꿀 수 있습니다. 제품에서 캡션을 허용하는 경우 텍스트와 이미지를 함께 모더레이션합니다.

실수 5: 개인정보 보호 및 보존 무시

이미지에는 얼굴, 문서, 사적 공간 또는 미성년자가 포함될 수 있습니다. 프로덕션 사용 전에 벤더의 데이터 처리, 보존, 지역 및 학습 사용 약관을 검토합니다.

전문 이미지 모더레이션 제공업체를 사용해야 하는 경우

EvoLink Moderation은 OpenAI 호환 API 워크플로우 내에서 텍스트 및 이미지 안전 결정에 적합합니다.

다음이 필요한 경우 Sightengine, Amazon Rekognition 또는 Azure AI Content Safety와 같은 전문 이미지 제공업체를 고려합니다:

  • OCR 중심 모더레이션
  • 워터마크 감지
  • 얼굴 감지
  • 딥페이크 감지
  • 비디오 모더레이션
  • 라이브 스트림 모더레이션
  • 커스텀 비주얼 클래스
  • AWS 또는 Azure와의 클라우드 네이티브 통합

올바른 답은 레이어드 스택일 수 있습니다: 텍스트+이미지 안전 라우팅에는 EvoLink, 이미지 품질, OCR 또는 마켓플레이스 전용 검사에는 전문 비주얼 서비스를 사용합니다.

FAQ

이미지 모더레이션 API란 무엇입니까?

이미지 모더레이션 API는 이미지를 분석하고 카테고리 라벨, confidence score 또는 risk level과 같은 안전 신호를 반환합니다. 애플리케이션은 이러한 신호를 사용하여 업로드된 이미지를 허용, 검토 또는 차단합니다.

네. EvoLink Moderation 1.0은 OpenAI 호환 모더레이션 endpoint를 통해 이미지 전용 요청과 텍스트+단일 이미지 요청을 지원합니다.

아니요. EvoLink Moderation은 요청당 하나의 이미지를 지원합니다. 여러 이미지의 경우 동시 요청을 보내거나 대기열을 사용합니다.

이미지를 업로드 전에 모더레이션해야 합니까, 아니면 업로드 후에 해야 합니까?

먼저 임시 업로드 스토리지를 사용하고, 서버 측에서 모더레이션한 후, 승인된 이미지를 영구 스토리지로 이동합니다. 이렇게 하면 검사가 완료되기 전에 안전하지 않은 이미지가 공개되는 것을 방지합니다.

마켓플레이스에 이미지 모더레이션만으로 충분합니까?

일반적으로 그 자체만으로는 충분하지 않습니다. 마켓플레이스에서는 안전 검사 외에도 품질 규칙, 금지 품목 검사, OCR, 워터마크 감지 및 사람의 검토가 필요한 경우가 많습니다.

관련 모더레이션 가이드

Explore EvoLink Moderation 1.0

AI 비용을 89% 절감할 준비가 되셨나요?

오늘 EvoLink를 시작하고 지능형 API 라우팅의 힘을 경험해보세요.