AI APIへPDFや画像を送るコードは、ファイル名だけ変えれば使えるとは限りません。送信先がmultipartフォームを求めるのか、ファイル本体を本文にするのか、JSONにファイルIDやデータを指定するのかで、リクエストの組み方が変わります。まず対象APIの入力仕様と送信コードを照合します。

赤堀亘
執筆・監修 AiWiLL株式会社 代表取締役 赤堀亘

AiWiLL株式会社代表。AI顧問「WiLLAGENT」で、企業の仕事をAIと人が進められる形にする伴走支援を行っています。記事では、実務で使える手順と、人が確認すべき点を明らかにします。

三つの送信方法を取り違えない

形式 PowerShellでの考え方 注意点
multipart/form-data 対応するバージョンで-Formに項目を渡す 項目名とファイルの指定方法をAPIに合わせる
ファイル本体がHTTP本文 -InFileで内容を送る 本文に追加のJSONやフォーム項目が必要なAPIとは形が違う
JSON 必要な項目を作りJSONに変換する パス文字列を書いただけで、PC内のファイルが送られるわけではない

Microsoftの公式例では、-Formの値にFileInfoを渡すとファイル内容を送ります。単なるパス文字列との違いが大切です。また-Formと-Bodyは併用できません。以下はPowerShell 7を想定した準備例で、特定のAI APIへそのまま送信できる完成コードではありません。

通信前に、対象ファイルだけを点検する

$PSVersionTable.PSVersion
$uploadPath = 'C:\Work\sample.pdf'
if (-not (Test-Path -LiteralPath $uploadPath -PathType Leaf)) {
  throw 'Upload file was not found'
}
$uploadFile = Get-Item -LiteralPath $uploadPath
$uploadFile | Select-Object Name,Length
$form = @{ file = $uploadFile }
# ここでは送信しない。項目名fileも対象APIの仕様と照合する。

拡張子が.pdfでも、中身がPDFであることまでは証明できません。普段のビューアーで開けるかを確認し、APIが対応する形式とサイズ内かを見ます。最初は個人情報のない小さなサンプルを使うと、内容の問題と通信の問題を分けやすくなります。

エラー別に確認を進める

必須項目がないと返されたら、フォームの項目名やJSONの階層を確認します。ファイルが空だと返されたら、パス文字列だけを渡していないか、読み取りに失敗していないかを見ます。サイズや形式を理由に拒否された場合は、そのAPIの上限と対応形式を確認します。認証エラーなら、ファイルを変更する前に資格情報側へ戻ります。

手動でContent-Typeを付け足すことが、常に修正になるわけでもありません。multipartには本文との対応が必要な情報があるため、クライアントが組み立てる内容と矛盾させないようにします。公式の同じ方式の例から、最小の必須項目だけで組み直すのが確認しやすい方法です。

アップロードと、AIの読み取りを別々に確認する

ファイルIDが返った段階は、送信先が受け付けたことを示す場合があります。その後に処理状態を待つ、質問リクエストへIDを渡す、といった工程が必要かはAPIによって異なります。「IDが出たので内容も解析済み」と決めず、次の操作に必要な状態を公式仕様で確認します。

接続先のAPIとパス:
要求される送信形式:
必須項目名:
ファイル形式と容量:
応答コード:
返されたIDの種類:
後続処理が必要か:
解析できたと判断する確認結果:

同じファイルを繰り返し送る前に、既に作られたアップロードがあるかも確認します。重複ファイルや処理費用を増やさず、最後に成功した工程から再開するためです。業務でのPDF利用はNotebookLMでPDFを読み取れないときの確認、報告書への活用は点検報告書とAIの役割分担へつなげて考えられます。

確認に使った資料

医療、建設、農業、営業、製造、飲食など、さまざまな仕事の人が並ぶAiWiLLのキービジュアル。AIを使いこなす会社は、イケてる。

伴走型AI顧問 WiLLAGENT

初月10万円で、AI顧問、使い放題。

月2回・隔週90分の定例枠で、AI社員の開発・改善、社員研修、導入設計・戦略、会社訪問を、御社の仕事に合わせて選べます。定例の間もチャットで相談できます。

初月10万円、翌月から月30万円。最低3か月・総額70万円(いずれも税別)。訪問の交通費、AIツール利用料は別途実費です。

AI顧問の内容と料金を見る