user 메시지의 content는 콘텐츠 파트 배열이 될 수 있으므로, 하나의 요청에 텍스트와 파일을 함께 담을 수 있습니다. 여섯 가지 Input Type(Text, Image, Audio, Video, Document, Archive)이 있으며, Guardian은 Input Type이 활성화된 각 파트를 검사합니다.
콘텐츠 파트 타입
type | Input Type | 인코딩 |
|---|---|---|
text | Text | text의 일반 문자열 |
image_url | Image | image_url.url을 data: URI로(PNG, JPG, WebP, GIF, BMP, TIFF, AVIF, HEIC) |
input_audio | Audio | input_audio.data(base64) + input_audio.format(wav, mp3) |
file | Document / Archive | file.file_data를 data: URI로 + file.filename(PDF, DOCX, XLSX, PPTX, TXT, CSV, …, ZIP) |
video_url | Video | video_url.url을 data: URI로(MP4) — Starfort 확장 기능 |
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 프리셋은 텍스트와 더불어 다양한 이미지, 문서, 아카이브 형식을 지원합니다.