메인 콘텐츠로 건너뛰기
user 메시지의 content콘텐츠 파트 배열이 될 수 있으므로, 하나의 요청에 텍스트와 파일을 함께 담을 수 있습니다. 여섯 가지 Input Type(Text, Image, Audio, Video, Document, Archive)이 있으며, Guardian은 Input Type이 활성화된 각 파트를 검사합니다.
{
  "messages": [{
    "role": "user",
    "content": [
      { "type": "text", "text": "Please review the attached file." },
      { "type": "image_url", "image_url": { "url": "data:image/png;base64,iVBORw0..." } }
    ]
  }],
  "processType": "input"
}

콘텐츠 파트 타입

typeInput Type인코딩
textTexttext의 일반 문자열
image_urlImageimage_url.urldata: URI로(PNG, JPG, WebP, GIF, BMP, TIFF, AVIF, HEIC)
input_audioAudioinput_audio.data(base64) + input_audio.format(wav, mp3)
fileDocument / Archivefile.file_datadata: URI로 + file.filename(PDF, DOCX, XLSX, PPTX, TXT, CSV, …, ZIP)
video_urlVideovideo_url.urldata: URI로(MP4) — Starfort 확장 기능
Document와 Archive는 모두 type: "file"을 사용합니다. Starfort는 type 필드가 아니라 파일의 실제 MIME / 매직 바이트 타입으로 올바른 Input Type에 라우팅합니다. data: URI 페이로드는 표준 base64(+, /, =)로 인코딩하세요 — URL-safe base64(-, _)는 지원되지 않습니다.

규칙

  • 파트는 Guardian에서 해당 Input Type이 활성화된 경우에만 검사됩니다. 그렇지 않으면 Guardian의 미지원 파일 처리 방식(아래)에 따라 요청이 거부되거나 해당 파트가 건너뛰어집니다.
  • 응답에서 각 파트는 text / image / audio / video / document / archive 중 하나의 type을 가진 자체 input_results[] 항목으로 보고되며, 파일 파트는 identifier(파일 이름)를 포함합니다.

미지원 파일

파일 파트의 카테고리나 확장자가 Guardian에서 활성화되지 않은 경우, Guardian의 Unsupported File Handling 설정이 동작을 결정합니다:
  • BLOCK(기본값) — 단 하나의 미지원 파일이 사전 검증 단계에서 요청 전체를 차단합니다. 지원되는 파트(텍스트, 허용된 파일)도 검사되지 않습니다.
  • PASS — 미지원 파일 파트만 건너뛰어지며(Guardian 분석 없이 그대로 통과), 나머지 요청은 정상적으로 검사됩니다. 모든 입력이 미지원이라면 Guardian 호출 없이 요청이 통과합니다. 건너뛴 파일은 트레이스에 기록됩니다(skippedUnsupportedFiles 메타데이터 + unsupported_file:skipped 태그).
위장된 파일은 항상 차단됩니다. PASS 설정에서도, 확장자는 허용되지만 실제 콘텐츠(매직 바이트)가 선언된 타입과 일치하지 않는 파일은 차단됩니다 — 검사는 파일 이름이 아니라 실제 콘텐츠를 기준으로 합니다.
Guardian을 등록할 때 전송하려는 Input Type을 활성화하세요. 기본 VLM-OCR 프리셋은 텍스트와 더불어 다양한 이미지, 문서, 아카이브 형식을 지원합니다.