メインコンテンツへスキップ
user メッセージの contentコンテンツパートの配列にできるため、1 つのリクエストでテキストとファイルを混在させることができます。6 つの 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_urlImagedata: URI としての image_url.url(PNG、JPG、WebP、GIF、BMP、TIFF、AVIF、HEIC)
input_audioAudioinput_audio.data(base64)+ input_audio.formatwavmp3
fileDocument / Archivedata: URI としての file.file_data + file.filename(PDF、DOCX、XLSX、PPTX、TXT、CSV、…、ZIP)
video_urlVideodata: URI としての video_url.url(MP4)— Starfort の拡張
Document と Archive はどちらも type: "file" を使用します。Starfort は type フィールドではなく、ファイルの実際の MIME / マジックバイトのタイプによって、それらを正しい Input Type に振り分けます。data: URI のペイロードは標準の base64(+/=)でエンコードしてください。URL セーフな base64(-_)はサポートされていません。

ルール

  • パートは、その Input Type が Guardian で有効になっている場合にのみ検査されます。そうでない場合は、Guardian の未対応ファイルの処理設定(下記)に応じて、リクエストが拒否されるか、そのパートがスキップされます。
  • レスポンスでは、各パートが textimageaudiovideodocumentarchivetype を持つ独立した input_results[] エントリとして報告され、ファイルパートには identifier(ファイル名)が付与されます。

未対応のファイル

ファイルパートのカテゴリーまたは拡張子が Guardian で有効になっていない場合、Guardian の Unsupported File Handling 設定によって何が起こるかが決まります。
  • BLOCK(デフォルト) — 1 つの未対応ファイルが、事前検証中にリクエスト全体をブロックします。対応しているパート(テキスト、許可されたファイル)も検査されません。
  • PASS — 未対応のファイルパートのみがスキップされます(Guardian の分析なしでそのまま通過します)。リクエストの残りは通常どおり検査されます。すべての入力が未対応の場合、リクエストは Guardian を呼び出さずに通過します。スキップされたファイルはトレースに記録されます(skippedUnsupportedFiles メタデータ + unsupported_file:skipped タグ)。
偽装されたファイルは常にブロックされます。 PASS の場合でも、拡張子は許可されているがその実際のコンテンツ(マジックバイト)が宣言されたタイプと一致しないファイルはブロックされます。チェックはファイル名ではなく実際のコンテンツに対して行われます。
Guardian を登録する際に、送信する予定の Input Type を有効にしてください。デフォルトの VLM-OCR プリセットは、テキストに加えて幅広い画像、ドキュメント、アーカイブ形式をサポートします。