PDFを 自然言語の指示
平易な英語で分割方法をAIに伝えられます。AIがドキュメント内容を読み取り、境界を検出し、各ファイルに名前を付けます。ページベースの分割ツールではできない処理です。
- AIによる境界検出 - カスタム指示に対応
- 3つの分割モード - smart、固定間隔、ブックマーク
- バッチ処理 - 1回のリクエストで複数のPDF
- 自動命名 - 内容に基づいて分割ファイルを命名
数ファイルだけ分割したいですか? 無料のWebツールを使う
指示: "新しい請求書ヘッダーまたは 'Page 1 of X' が見えたら分割。各vendorの文書は別々にしてください。"
入力
内容を含むPDF: 5社のvendorからの請求書12件、日付混在、ページ数はさまざま
AI出力
reason: "新しい請求書を検出 - Acme Corp ヘッダー"
reason: "新しいvendorのレターヘッド - GlobeTech Inc"
AI分割がページベースのツールより優れている理由
ページベースの分割ツールはページ数を数えます。AIは内容を読み取り、境界を理解します。
入力:
mixed_invoices.pdf (47 pages)
分割単位:
5ページ
出力:
split_1.pdf, split_2.pdf, ... (誤った境界)
- 文書の実際の開始位置・終了位置を検出できない
- 請求書を途中で切り、vendorが混在する
- 汎用的なファイル名(split_1、split_2...)
- ドキュメント内容を理解できない
入力:
mixed_invoices.pdf (47 pages)
指示:
"新しい請求書ヘッダーまたはvendorのレターヘッドが見えたら分割"
出力:
2025-01-15_AcmeCorp_Invoice_001.pdf (3 pages)
- 内容から実際の文書境界を検出する
- 自然言語の指示に従う
- 抽出した内容に基づいてファイルを自動命名する
- 各分割を行った理由を説明する
クイックスタート
エンドポイントは2つです。ファイルを直接アップロードするか、URLを渡して取得させることができます。 mode=smart with instructions を使って、AIに境界の検出方法を伝えます。
POST /api/v1/pdf-split - multipartファイルアップロード
curl -X POST https://www.renamed.to/api/v1/pdf-split \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -F "file=@mixed_documents.pdf" \ -F "mode=smart" \ -F 'instructions=Split when you detect a new document.Look for: invoice headers, "Page 1 of X", or new letterhead.Keep cover letters with their attachments.'POST /api/v1/pdf-split/from-url - JSONボディ、サーバーがファイルを取得
curl -X POST https://www.renamed.to/api/v1/pdf-split/from-url \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com/scanned-stack.pdf", "mode": "smart", "instructions": "Separate by patient name.\nEach patient'"'"'s records should be one file.\nInclude all pages until you see a new patient header." }'SDK
型安全性とエラーハンドリングを備えた、より良い開発体験のために公式SDKをご利用ください。
TypeScript SDKの例
import { RenamedClient } from '@renamed/sdk'const client = new RenamedClient({ apiKey: process.env.RENAMED_API_KEY })// AI reads the bundle, detects boundaries, names each splitconst job = await client.pdfSplit('./mixed_invoices.pdf', { mode: 'smart', instructions: `Split when you detect a new invoice.Look for: company letterhead, "Invoice #", or "Page 1 of X".Each vendor's invoice should be separate.`})// Poll for completionconst result = await job.waitForCompletion()console.log(result.splits)// => [{ filename: "2025-01-15_AcmeCorp_Invoice_001.pdf", reason: "New invoice detected - Acme Corp header" }, ...]レスポンス
{ "jobId": "abc123", "status": "completed", "progress": 100, "results": { "results": [{ "originalFilename": "mixed_documents.pdf", "splits": [{ "filename": "2025-01-15_AcmeCorp_Invoice_001.pdf", "downloadUrl": "https://...", "expiresAt": "2025-01-16T12:00:00Z", "pages": 3, "reason": "New invoice detected - Acme Corp header" }, { "filename": "2025-01-14_GlobeTech_Invoice_002.pdf", "downloadUrl": "https://...", "expiresAt": "2025-01-16T12:00:00Z", "pages": 2, "reason": "New vendor letterhead - GlobeTech Inc" }] }] }, "creditsUsed": 2}GitHub上のSDK: github.com/renamed-to/renamed-sdk
認証
すべてのAPIリクエストでは、 Authorization ヘッダー内のBearerトークンによる認証が必要です。
APIトークン(推奨)
APIトークンは 設定 → APIトークンで生成できます。トークンには rt_ という接頭辞が付き、アカウントへの完全なアクセス権を提供します。
Authorization: Bearer rt_abc123def456...OAuth 2.0
ユーザーに代わって認証するアプリでは、OAuth 2.0を使用します。OAuthフローが完了すると、同じ方法で使えるアクセストークンを受け取ります:
Authorization: Bearer <oauth_access_token>OAuthクライアントの登録とフローの詳細は API documentation をご覧ください。
APIパラメータ
分割動作を制御する主なパラメータです。
| パラメータ | 型 | 必須 | 値 / 注記 |
|---|---|---|---|
file | File | はい* | 単一ファイルのアップロードです。* file または files[] の少なくとも1つが必要です。 |
files[] | File[] | はい* | バッチ処理用の複数ファイルです。 |
mode | string | いいえ | デフォルト: smart.値: smart | every-n-pages | by-bookmarks |
instructions | string | いいえ | smart モードでのみ使用します。境界検出のための自然言語の指示です。最大5,000文字。 |
pagesPerSplit | integer | mode= の場合は必須 | 分割ごとのページ数です。範囲: 1-1000。 |
URLエンドポイント(/api/v1/pdf-split/from-url)
上記と同じパラメータですが、 file/files[]の代わりに url (string)または urls (string[])を使用します。
指示でできること
AIは自然言語を解釈し、自分で構築するにはカスタムコードが必要になる複雑な境界検出を適用します。
- 境界検出
"'Page 1 of X' または新しい会社のレターヘッドが見えたら分割"- 文書のグループ化
"送付状は対応する添付資料と一緒に保持。付録を本文書から分割しないでください。"- エンティティベースの分割
"患者名ごとに分ける - 各患者の記録は1つのファイルにする"- ヘッダー検出
"各 PURCHASE ORDER を新しい文書の開始とする。請求書ヘッダーも新しい文書を示す。"
分割モード
用途に合ったモードを選べます。smartモードがデフォルトです。
smartデフォルトAIが文書境界を自動で検出します。必要に応じて instructions を指定して境界検出を誘導できます。
every-n-pages固定間隔で分割します。 pagesPerSplit パラメータが必要です(1-1000)。
by-bookmarksPDFのブックマーク境界で分割します。元のPDFにブックマークが必要です。
本番運用向け
制限
- ファイルサイズ: 最大100MB
- 形式: PDFのみ
- 指示: 最大5,000文字
- 分割ごとのページ数: 1-1,000(every-n-pagesモード用)
- 処理時間: 通常30秒-2分
一般的なエラー
400 no_filesファイルが提供されていません400 invalid_file_typePDFではありません400 file_too_large100MBを超えています401 unauthorizedAPIキーがないか無効です402 insufficient_creditsクレジットが不足しています404 not_foundジョブが見つかりません
セキュリティ: すべてのリクエストはTLS経由です。 /from-url エンドポイントはlocalhostとプライベートIP範囲をブロックします。
料金
3ページごとに1クレジット (端数切り上げ)。その後、 1,000クレジットあたり$9です。
- 登録時に50無料クレジット
- クレジットの有効期間は12か月
- 30日間返金保証
開始方法
PDF Split APIをワークフローに組み込むための4つのステップです。
PDFをアップロードまたはURLを指定
/api/v1/pdf-split (ファイルアップロード)または /api/v1/pdf-split/from-url (URL)に送信します。smartモードでは instructions を含めます。
ステータスエンドポイントをポーリング
最初のレスポンスには statusUrlが含まれます。 /api/v1/pdf-split/status/{jobId} を status=completedになるまでポーリングします。
よくある質問
- AIによる境界検出はどのように動作しますか?
- 「smart」モードでは、AIがドキュメント内容を分析し、1つの文書が終わって別の文書が始まる位置を特定します。レターヘッド、文書タイプ、vendor、「Page 1 of X」パターン、構造要素の変化を検出します。自然言語の指示で誘導することもできます。
- instructionsパラメータには何を入れられますか?
- 境界をどのように検出するかを説明する自然言語です。例: 「新しい請求書ヘッダーまたは Page 1 of X が見えたら分割」、「各文書は送付状で始まり、その後に添付資料が続く」、「患者名ごとに分ける - 各患者の記録は1つのファイルにする」。
- 処理にはどのくらい時間がかかりますか?
- ほとんどのジョブは、ファイルサイズとページ数に応じて30秒から2分で完了します。APIは非同期です。ジョブを送信し、完了するまでポーリングします。
- 最大ファイルサイズはどれくらいですか?
- PDFファイルは最大100MBです。厳密なページ上限はありませんが、非常に大きなドキュメントは処理に時間がかかる場合があります。
- 分割されたファイル名はどのように付けられますか?
- smartモードでは、AIがドキュメント内容に基づいて説明的なファイル名を生成し、日付、vendor、文書タイプ、その他のエンティティを抽出します。各分割には、境界が検出された理由を説明する「reason」フィールドも含まれます。
- 従来のPDF分割ツールと何が違いますか?
- 従来の分割ツールはページ番号やブックマークに基づいて動作します。このAPIはドキュメント内容を読み取り、意味を理解し、自然言語の指示を適用します。vendor、患者、文書タイプ、その他の意味的な境界で分割でき、ページベースのツールでは不可能な処理に対応できます。