コンテンツにスキップ
lait
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

ファイル・画像の添付

--file と --image で入力にファイルや画像を添付する方法。

--file(ファイル内容のコンテキスト添付)

--file <PATH> を指定すると、ファイルの内容をプロンプトのコンテキストとして添付できます。 同じオプションを繰り返して、複数のファイルを添付することもできます。

lait --file src/main.rs --file README.md "このコードを説明して"

追加される順序

各ファイルは、ファイル名付きのフェンスドコードブロックとしてプロンプトの末尾に追記されます。 標準入力(パイプ)と併用した場合は、次の順序で連結されます。

  1. プロンプト引数
  2. パイプされたテキスト
  3. --file で指定したファイルの内容

添付ファイルの内容に ``` が含まれる場合は、コードブロックが途中で閉じないようフェンスの 長さを自動的に広げます。

PDF ファイル

先頭が %PDF- で始まるファイル(PDF)は、テキストとしてプロンプトに埋め込む代わりに、ファイル そのものを base64 エンコードしてユーザーメッセージの file コンテンツパートとして送ります。 PDF の読み取りはモデル(プロバイダー)側に任せるため、PDF 入力に対応したモデルとサーバーが必要です。 対応していないサーバーでは、サーバー側のエラーになります。

lait --model "PDF対応モデル" --file report.pdf --file notes.md "この資料を要約して"
[
  { "type": "text", "text": "この資料を要約して\n\n````notes.md\n...\n````" },
  { "type": "file", "file": { "filename": "report.pdf", "file_data": "data:application/pdf;base64,..." } }
]

テキストのファイルは従来どおりプロンプトに埋め込まれ、PDF だけが別のパートになります。 Responses API のモデルでは input_file パートとして 送ります。ワークフローの prompt/agent ステップの files: でも同じように扱われます。

制限

  • UTF-8 として読めず、PDF でもないバイナリファイルはエラーになります。画像を渡したい場合は、 次の --image を使ってください。
  • --file で添付するファイルの合計サイズ(PDF を含む)には 10 MiB の上限があります。超過すると エラーになります。

--image(vision モデル向けの画像入力)

--image <PATH_OR_URL> を指定すると、vision 対応モデルに画像を渡せます。同じオプションを 繰り返して、複数枚を添付することもできます。

lait --model "vision対応モデル" --image photo.png "この画像を説明して"
lait --model "vision対応モデル" --image https://example.com/cat.png "何が写っていますか?"

画像の扱い

--image の値 送信形式
ローカルファイルパス 内容を base64 エンコードした data URL(data:image/png;base64,...)に変換して送信します。
http:///https:// から始まる値 そのまま image_url として渡します。

対応形式は PNG / JPEG / WebP / GIF です。まずマジックバイトで判定し、判定できない場合は 拡張子から推測します。どちらでも判定できない場合はエラーになります。

リクエスト形式と併用

--image を1つ以上指定すると、ユーザーメッセージの content は文字列ではなく、次のような 配列になります。画像を指定しない通常のリクエストの形式は変わりません。

[
  { "type": "text", "text": "この画像を説明して" },
  { "type": "image_url", "image_url": { "url": "..." } }
]

--stream と併用できます。--mcp/--subagent(ツール呼び出し)とも併用できます。

このページは役に立ちましたか?