APIドキュメント

APIを使用して、FreeOCR.AIをアプリケーションに統合します。

認証

すべてのAPIリクエストには、AuthorizationヘッダーにBearerトークンとしてAPIキーを渡す必要があります。

Authorization: Bearer focr_your_api_key_id

APIキーページでAPIキーの作成と管理を行います。


レート制限

デフォルトのレート制限:APIキーあたり1分間 200 リクエスト。

レート制限はキーごとに調整可能です。カスタム制限についてはサポートにお問い合わせください。


レイアウトを保持したまま画像からテキストを抽出します。

パラメータ

multipartimage(必須) - 画像ファイル
queryformat(任意) - レスポンス形式: json(デフォルト)、text、docx
queryversion(任意) - モデルバージョン: 260428(デフォルト)

レスポンス

jsonContent-Type: application/json
{
  "text": "# Document Title\n\nExtracted markdown content..."
}

HTMLテーブルやLaTeX数式を含む、レイアウトを保持したGitHub Flavored Markdownを返します。

textContent-Type: application/json
{
  "text": "Document Title\n\nExtracted plain text content..."
}

Markdownは内部変換によりプレーンテキストに剥離されます。

docxContent-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

バイナリファイルダウンロード。 Content-Disposition: attachment; filename="result.docx"

例

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/ocr" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@document.png"

POST /table

ライブデモ

画像からテーブルを構造化データとして抽出します。

パラメータ

multipartimage(必須) - 画像ファイル
queryformat(任意) - レスポンス形式: json(デフォルト)、csv、xlsx
queryversion(任意) - モデルバージョン: 260428(デフォルト)

レスポンス

jsonContent-Type: application/json
{
  "tables": [
    {
      "title": "Sales Report",
      "html": "<table><tr><th>Item</th><th>Qty</th></tr><tr><td>Apple</td><td>10</td></tr></table>"
    }
  ]
}

各テーブルにはtitleとHTMLテーブル文字列形式のコンテンツが含まれます。

csvContent-Type: text/csv; charset=utf-8

プレーンテキストCSVファイルダウンロード。複数のテーブルは--- SheetName ---区切り文字で区切られます。 Content-Disposition: attachment; filename="tables.csv"

xlsxContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

バイナリXLSXファイルダウンロード。各テーブルはタイトルにちなんで名付けられた別々のシートになります。 Content-Disposition: attachment; filename="tables.xlsx"

例

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/table" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@spreadsheet.png"

POST /extract

ライブデモ

AIを使用して画像から特定のフィールドを抽出します。

パラメータ

multipartimage(必須) - 画像ファイル
queryfields(必須) - 抽出するフィールド(繰り返しパラメータまたはJSON配列)
queryformat(任意) - レスポンス形式: json(デフォルト)、csv、xlsx
queryversion(任意) - モデルバージョン: 260428(デフォルト)、260215

レスポンス

jsonContent-Type: application/json
{
  "result": [
    { "key": "name", "values": ["John Doe"] },
    { "key": "date", "values": ["2024-03-15"] },
    { "key": "amount", "values": ["$1,234.56"] }
  ]
}

リクエストされた各フィールドはkeyと抽出されたvaluesの配列として返されます。

csvContent-Type: text/csv; charset=utf-8

フィールドキーを列ヘッダーとして、抽出された値を行とするCSVファイル。 Content-Disposition: attachment; filename="extraction.csv"

xlsxContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

CSVと同じレイアウトの単一の「Results」シートを含むXLSXファイル。 Content-Disposition: attachment; filename="extraction.xlsx"

例

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/extract?fields=name&fields=date&fields=amount" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@invoice.png"

エラーレスポンス

401

未認証

{ "error": { "code": "unauthorized", "message": "無効なAPIキー" } }
402

残高不足

{ "error": { "code": "insufficient_credits", "message": "残高が不足しています。チャージしてください。" } }
429

レート制限超過

{ "error": { "code": "rate_limit_exceeded", "message": "レート制限を超過しました。後でもう一度お試しください。" } }
500

内部エラー

{ "error": { "code": "internal_error", "message": "画像の処理に失敗しました" } }