ファイル・画像の添付
--file と --image で入力にファイルや画像を添付する方法。
--file(ファイル内容のコンテキスト添付)
--file <PATH> を指定すると、ファイルの内容をプロンプトのコンテキストとして添付できます。
同じオプションを繰り返して、複数のファイルを添付することもできます。
lait --file src/main.rs --file README.md "このコードを説明して"
追加される順序
各ファイルは、ファイル名付きのフェンスドコードブロックとしてプロンプトの末尾に追記されます。 標準入力(パイプ)と併用した場合は、次の順序で連結されます。
- プロンプト引数
- パイプされたテキスト
--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(ツール呼び出し)とも併用できます。