Glowb Dev Docs
SaaS APIAI 검수 (셀프 요청)

POST /ai/influence/contents/ai-review/script/import-pdf

스크립트 PDF 자동변환 (가이드라인 장면 구조로 초안 저장)

스크립트 PDF 자동변환

크리에이터가 다른 곳에서 작성해 PDF로 제출한 영상 스크립트를, 캠페인 v4 가이드라인의 장면(shots) 구조에 맞춰 씬별 스크립트(editorState)로 자동 재구성한 뒤, 해당 검수 회차의 SCRIPT_VIDEO 초안으로 저장합니다.

변환된 초안은 그대로 스크립트 에디터에서 수정한 뒤 제출하거나, AI 스크립트 검수 요청의 입력으로 사용됩니다.

비동기성 · 소요 시간. 내부적으로 PDF를 S3에 업로드한 뒤 Python AI(gemini-2.5-flash)로 변환하므로 평균 15~40초 걸립니다. 응답이 올 때까지 대기하는 동기 호출입니다.

본인 신청 건만 가능. reviewId가 가리키는 검수 회차의 신청 소유자 본인만 호출할 수 있습니다(소유권 검증). 타인의 회차에 import 시 403.

HTTP 요청

POST /ai/influence/contents/ai-review/script/import-pdf
Authorization: Bearer {access_token}
Content-Type: multipart/form-data

Request Parts

multipart/form-data 로 전송합니다.

파트위치타입필수설명
reviewIdform fieldlong검수 회차 ID
documentfile partfile (PDF)크리에이터가 제출한 스크립트 PDF

동작 순서

  1. reviewId → 검수 회차 → 캠페인(collab) 조회 + 소유권 검증
  2. PDF를 S3에 업로드해 pdf_url 확보
  3. 해당 캠페인의 v4 가이드라인(shots) 조회
  4. Python 자동변환 API 호출 → 장면별 editorState 수신
  5. (reviewId, scriptIndex) 기준 upsertSCRIPT_VIDEO 초안(isSubmitted=false) 저장 (재업로드 시 기존 장면 덮어쓰기)

변환 원칙. 가이드라인 장면 수만큼 슬롯을 생성하며, PDF에 해당 내용이 없으면 그 필드는 빈칸으로 둡니다(없는 정보를 지어내지 않음). 출력 언어는 PDF 언어를 따릅니다. 현재 SCRIPT_VIDEO 타입만 지원합니다.

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "스크립트 PDF 자동변환 완료",
  "data": {
    "reviewId": 910,
    "collabNo": 1234,
    "savedCount": 5
  }
}

응답 필드 (data)

필드타입설명
reviewIdlong검수 회차 ID
collabNoint캠페인 번호
savedCountint저장된 장면(초안) 수

변환 결과 본문(씬별 editorState)은 응답에 직접 담기지 않고 초안으로 저장됩니다. 저장된 내용은 제출물 조회 API로 확인하세요. editorStateSCRIPT_VIDEO 3분할(videoScene / subtitle / narration) Lexical JSON 구조입니다.

에러 응답

상태 코드설명
400document(PDF)가 비어 있거나 누락
403본인 신청 건이 아님 (소유권 검증 실패)
404reviewId에 해당하는 검수 회차 없음
500PDF S3 업로드 실패 또는 Python 변환 실패

API 테스트

On this page