PDF to JSON API
認証付き POST 1 回で公開 PDF URL を保存済み構造化 JSON に——型付きブロック、ページテキスト、Markdown をページ範囲で読み戻せます。
- 単一 REST エンドポイント
- 型付きブロックスキーマ
- 双方向出力
- ページング取得
- 冪等な課金書き込み
- 変換オプション
リクエスト例
curl -X POST "https://api.agentbody.io/v1/documents/parse" \
-H "Authorization: Bearer <YOUR_AGENTBODY_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"analysis_chart":"true","file_name":"YOUR_FILE_NAME","file_url":"YOUR_FILE_URL","merge_tables":"true","recognize_seal":"true","relevel_titles":"true","return_span_boxes":"true"}'レスポンス例
OpenAPI 仕様に記載されたレスポンス。
Accepted document parse result reference.
{
"document_id": "00000000-0000-4000-8000-000000000001",
"get_path": "example_value",
"pages": 1,
"preview": "example_value"
}機能特徴
PDF to JSON API をデータ抽出パイプライン、ドキュメントインデックス、LLM 摂取に使う——URL を入れ、構造化ブロックを得る。
単一 REST エンドポイント
bearer API キー、file_url、file_name を付けて POST /v1/documents/parse を呼びます。API が文書を解析し構造化結果を保存します。解析ライブラリのホストもレイアウトエンジンの維持も不要です。
型付きブロックスキーマ
結果の各ブロックは id、type、text、page、bbox を運びます。安定したドキュメント化されたスキーマです。見出し、段落などの要素がラベル付きで届くため、ダウンストリームコードは推測なしで振り分けられます。
双方向出力
保存された結果は、プログラム用の blocks 配列と、読解・プロンプト用の Markdown レンダリングの両方を運びます。1 回のパースが、同じ document_id で抽出パイプラインと LLM コンテキストの両方に奉仕します。
ページング取得
GET /v1/documents/{document_id} に page_start/page_end を付けて結果を読み戻します。1000 ページの文書もクエリ可能なまま保たれ、ワーカーは無境界な 1 レスポンスではなくチャンクで処理します。
冪等な課金書き込み
パースは従量課金です。再試行時に Idempotency-Key ヘッダーを送ると、中断されたレスポンスが同じ文書の二重課金になりません。同一キーの同一リクエストは元の結果を返します。
変換オプション
パースごとに調整できます。merge_tables は断片化した表セルをマージし、relevel_titles は見出し階層を正規化します。Markdown を形作るオプションがブロック構造も形作ります。
使い方
次のステップで PDF to JSON API を呼び出します。キーを作成し、文書 URL を送信し、構造化ブロックを読み戻します。
API キーを作成
AgentBody アカウントを作成し、コンソールで API キーを生成します。キーはサーバー側に保管し bearer トークンとして送信します。
文書を送信
file_url(公開 HTTPS)、file_name、必要に応じて変換オプションを付けて POST /v1/documents/parse を送信します。レスポンスは document_id とプレビューを返します。
冪等キーを追加
再試行する可能性のあるすべてのパースに Idempotency-Key ヘッダーを付けます。同一キーの同一リクエストは元の結果を返し、再課金しません。
ブロックを読み戻す
ページ範囲付きで GET /v1/documents/{document_id} を呼びます。blocks 配列——id、type、text、page、bbox——をそのままストレージ、インデックス、パイプラインに解析します。
キーはサーバー側に
バックエンドや定期ジョブからエンドポイントを呼びます。ユーザーが変換をトリガーする場合は独自エンドポイントでプロキシしてください。
エラーを正しく処理
400 はリクエストを修正し、401 は有効なキーを設定し、402 は残高を補充し、409 はドキュメント化された冪等キーの動作に従います。502/503/504 はバックオフ付きで再試行します。
よくある質問
PDF to JSON API とは何ですか?
認証付きエンドポイントのペアです。POST /v1/documents/parse が公開 PDF URL を保存済み構造化結果に変換し、GET /v1/documents/{document_id} がそれを読み戻します。各要素が id、type、text、page、bbox を持つ blocks 配列と、ページごとのテキスト、Markdown が付きます。
PDF to JSON API の料金はどうなっていますか?
各パースはアカウントのクレジットで実行される従量課金の操作です。価格はゲートウェイが管理します。コンソールで現在の費用を確認し、冪等キーで再試行の二重課金を防いでください。
各 JSON ブロックには何が入っていますか?
5 つのフィールド:id(安定した要素識別子)、type(見出し・段落などの要素クラス)、text(内容)、page(ページ番号)、bbox(ページ上の座標位置)。文書の構造を再構築またはクエリするのに十分です。
ローカルファイルを処理できますか?
いいえ。API は公開 HTTPS の file_url を受け付け、multipart アップロードは受け付けません。PDF を API が到達できる場所にホストし、その URL を渡してください。
非常に大きな PDF はどう扱いますか?
一度パースし、page_start と page_end でページ範囲を読み戻します。各取得は境界のあるブロックとページのスライスを返すため、1000 ページの文書もチャンクで処理でき、メモリは無界になりません。
API エラーの処理方法は?
400 はリクエストを修正し、401 は bearer キーを修正し、402 は残高を解決し、409 はドキュメント化された冪等キーの動作に従います。502、503、504 は一時的な上流の障害として、同じキーの下でバックオフ付きで再試行してください。