Документація API
Інтегруйте FreeOCR.AI у свої додатки за допомогою нашого потужного API.
Автентифікація
Усі запити до API вимагають ключа API, переданого в заголовку Authorization як токен Bearer.
Створюйте та керуйте своїми ключами API на сторінці Ключі API.
Ліміти запитів
Ліміт запитів за замовчуванням: 200 запитів на хвилину на один ключ API.
Ліміти можна налаштувати індивідуально для кожного ключа. Зверніться до служби підтримки для встановлення персональних лімітів.
POST /ocr
Демо в реальному часіВилучення тексту із зображень зі збереженням макета.
Параметри
image(обов'язковий) - Файл зображенняformat(необов'язковий) - Формат відповіді: json (за замовчуванням), text, docxversion(необов'язковий) - Версія моделі: 261029 (за замовчуванням), 260428Відповідь
{
"text": "# Document Title\n\nExtracted markdown content..."
}Повертає GitHub Flavored Markdown зі збереженням макета, включно з HTML-таблицями та формулами LaTeX.
{
"text": "Document Title\n\nExtracted plain text content..."
}Markdown очищається до звичайного тексту через внутрішнє перетворення.
Завантаження бінарного файлу. Content-Disposition: attachment; filename="result.docx"
Приклад
curl -X POST "https://freeocr.ai/api/v1/platform/ocr" \
-H "Authorization: Bearer focr_your_key" \
-F "image=@document.png"POST /table
Демо в реальному часіВилучення таблиць із зображень у структуровані дані.
Параметри
image(обов'язковий) - Файл зображенняformat(необов'язковий) - Формат відповіді: json (за замовчуванням), csv, xlsxversion(необов'язковий) - Версія моделі: 261029 (за замовчуванням), 260428Відповідь
{
"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.
Завантаження звичайного тексту у форматі CSV. Кілька таблиць розділяються роздільниками --- SheetName ---. Content-Disposition: attachment; filename="tables.csv"
Завантаження бінарного файлу XLSX. Кожна таблиця стає окремим аркушем із назвою, що відповідає її заголовку. Content-Disposition: attachment; filename="tables.xlsx"
Приклад
curl -X POST "https://freeocr.ai/api/v1/platform/table" \
-H "Authorization: Bearer focr_your_key" \
-F "image=@spreadsheet.png"POST /extract
Демо в реальному часіВилучення конкретних полів із зображень за допомогою AI.
Параметри
image(обов'язковий) - Файл зображенняfields(обов'язковий) - Поля для вилучення (повторюваний параметр або масив JSON)format(необов'язковий) - Формат відповіді: json (за замовчуванням), csv, xlsxversion(необов'язковий) - Версія моделі: 261029 (за замовчуванням), 260428Відповідь
{
"result": [
{ "key": "name", "values": ["John Doe"] },
{ "key": "date", "values": ["2024-03-15"] },
{ "key": "amount", "values": ["$1,234.56"] }
]
}Кожне запитане поле повертається як key із масивом вилучених значень values.
Файл CSV, де ключі полів є заголовками стовпців, а вилучені значення — рядками. Content-Disposition: attachment; filename="extraction.csv"
Файл XLSX із єдиним аркушем "Results", такий самий формат, як і CSV. Content-Disposition: attachment; filename="extraction.xlsx"
Приклад
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"Відповіді з помилками
Не авторизовано
{ "error": { "code": "unauthorized", "message": "Недійсний ключ API" } }Недостатній баланс
{ "error": { "code": "insufficient_credits", "message": "Недостатньо коштів на балансі. Будь ласка, поповніть його." } }Перевищено ліміт запитів
{ "error": { "code": "rate_limit_exceeded", "message": "Перевищено ліміт запитів. Спробуйте пізніше." } }Внутрішня помилка
{ "error": { "code": "internal_error", "message": "Не вдалося обробити зображення" } }