Glowb Dev Docs
Main APIAI 콘텐츠 검수 API

POST /ai/influence/contents/ai-review/video

AI 영상 검수

AI 영상 검수

영상 URL과 캠페인 정보를 기반으로 AI 검수를 수행합니다. collabNo로 가이드라인을 조회하여 검수 기준으로 사용합니다.

항목
메서드POST
경로/ai/influence/contents/ai-review/video
인증필요
Content-Typeapplication/json

요청

POST /ai/influence/contents/ai-review/video
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "collabNo": 123,
  "applicationId": 456,
  "itemId": 789,
  "videoUrl": "https://example.com/video.mp4",
  "campaignName": "2024 겨울 캠페인",
  "brand": "브랜드명",
  "options": {
    "language": "ko",
    "needTranscript": true,
    "needSceneCut": true,
    "extras": {}
  }
}

Request Body 스키마

필드명타입필수설명
collabNolong캠페인 번호 (가이드라인 조회용)
applicationIdlong아니오지원 ID (결과 저장용)
itemIdlong아니오제출물 ID (결과 저장용)
videoUrlstring검수할 영상 URL
campaignNamestring아니오캠페인명
brandstring아니오브랜드명
optionsobject아니오검수 옵션

Options 스키마

필드명타입기본값설명
languagestringko검수 언어 (ko, en 등)
needTranscriptbooleantrue자막 추출 여부
needSceneCutbooleantrue장면 분할 여부
extrasobjectnull추가 옵션

중요: applicationIditemId가 모두 제공된 경우에만 검수 결과가 DynamoDB에 저장됩니다.

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "AI 영상 검수 완료",
  "data": {
    "collabNo": 123,
    "applicationId": 456,
    "itemId": 789,
    "contentType": "VIDEO",
    "overallStatus": "PASS",
    "checkedAt": "2024-12-22T10:30:00+09:00",
    "contentDetailResult": {
      "categoryCode": "BEAUTY",
      "basicShots": [
        {
          "code": "PRODUCT_SHOT",
          "expected": {
            "appealPoint": "제품 클로즈업",
            "subOption": "5초 이상"
          },
          "result": {
            "status": "PASS",
            "confidence": 0.95,
            "evidence": [
              {
                "type": "VIDEO",
                "timeRange": [10.5, 18.2],
                "description": "제품 클로즈업 장면 확인",
                "text": null
              }
            ],
            "comment": "가이드라인에 맞게 제품 클로즈업이 포함되어 있습니다."
          }
        }
      ],
      "additionalOptions": [
        {
          "code": "BRAND_MENTION",
          "result": {
            "status": "PASS",
            "confidence": 0.88,
            "evidence": [
              {
                "type": "AUDIO",
                "timeRange": [5.0, 8.0],
                "description": "브랜드명 언급",
                "text": "오늘 소개할 제품은 브랜드명의..."
              }
            ],
            "comment": "브랜드명이 정확히 언급되었습니다."
          }
        }
      ]
    },
    "marketingInfoResult": {
      "requiredPoints": [
        {
          "text": "제품 사용 후기 포함",
          "result": {
            "status": "PASS",
            "matchType": "EXACT",
            "matchedText": "사용해보니 정말 좋았어요",
            "evidence": [
              {
                "type": "AUDIO",
                "timeRange": [25.0, 30.0],
                "description": "사용 후기 언급",
                "text": "사용해보니 정말 좋았어요"
              }
            ],
            "comment": "필수 마케팅 포인트가 포함되어 있습니다."
          }
        }
      ],
      "optionalPoints": [],
      "hashtags": ["#광고", "#협찬", "#브랜드명"],
      "videoMarketingOptions": {
        "promotion": {
          "expectedDescription": "유료광고 표시",
          "result": {
            "status": "PASS",
            "matchType": "PARTIAL",
            "matchedText": "#광고",
            "evidence": [],
            "comment": "광고 표시가 확인되었습니다."
          }
        },
        "brandAccountTag": null,
        "collaborator": null
      }
    },
    "errors": [],
    "meta": {
      "modelVersion": "gemini-2.0-flash",
      "processingTimeMs": 15234.5
    }
  }
}

응답 스키마

필드타입설명
collabNolong캠페인 번호
applicationIdlong지원 ID
itemIdlong제출물 ID
contentTypestring콘텐츠 타입 (VIDEO)
overallStatusstring전체 검수 결과 (PASS, FAIL)
checkedAtstring검수 완료 시간 (ISO 8601)
contentDetailResultobject콘텐츠 상세 검수 결과
marketingInfoResultobject마케팅 정보 검수 결과
errorsarray오류 메시지 목록
metaobject메타 정보

ContentDetailResult 스키마

필드타입설명
categoryCodestring카테고리 코드
basicShotsarray기본 샷 검수 결과 목록
additionalOptionsarray추가 옵션 검수 결과 목록

ShotCheckResult 스키마

필드타입설명
statusstring상태 (PASS, FAIL, PARTIAL)
confidencenumber신뢰도 (0.0 ~ 1.0)
evidencearray근거 목록
commentstringAI 코멘트

Evidence 스키마

필드타입설명
typestring근거 타입 (VIDEO, AUDIO, TEXT)
timeRangearray시간 범위 [시작초, 종료초]
descriptionstring설명
textstring추출된 텍스트 (있는 경우)

Meta 스키마

필드타입설명
modelVersionstring사용된 AI 모델 버전
processingTimeMsnumber처리 시간 (밀리초)

에러 응답

상태 코드코드메시지
400INVALID_REQUESTcollabNo는 필수입니다.
400INVALID_REQUESTvideoUrl은 필수입니다.
500AI_REVIEW_FAILEDAI 검수 중 오류가 발생했습니다.

사용 예시

curl -X POST https://api.glowb.io/ai/influence/contents/ai-review/video \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "collabNo": 123,
    "applicationId": 456,
    "itemId": 789,
    "videoUrl": "https://example.com/video.mp4",
    "campaignName": "2024 겨울 캠페인",
    "brand": "브랜드명",
    "options": {
      "language": "ko",
      "needTranscript": true,
      "needSceneCut": true
    }
  }'

API 테스트

On this page