Dokumentacja API

Zintegruj FreeOCR.AI ze swoimi aplikacjami za pomocą naszego zaawansowanego API.

Uwierzytelnianie

Wszystkie żądania API wymagają klucza API przekazanego w nagłówku Authorization jako token Bearer.

Authorization: Bearer focr_your_api_key_id

Twórz i zarządzaj swoimi kluczami API na stronie Klucze API.


Limity zapytań

Domyślny limit zapytań: 200 żądań na minutę na klucz API.

Limity zapytań mogą być dostosowywane dla każdego klucza. Skontaktuj się z pomocą techniczną w sprawie niestandardowych limitów.


Wyodrębniaj tekst z obrazów z zachowaniem układu.

Parametry

multipartimage(wymagane) - Plik obrazu
queryformat(opcjonalne) - Format odpowiedzi: json (domyślnie), text, docx
queryversion(opcjonalne) - Wersja modelu: 261029 (domyślnie), 260428

Odpowiedź

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

Zwraca GitHub Flavored Markdown z zachowaniem układu, w tym tabele HTML i wzory LaTeX.

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

Format Markdown jest przekształcany w zwykły tekst poprzez konwersję wewnętrzną.

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

Pobieranie pliku binarnego. Content-Disposition: attachment; filename="result.docx"

Przykład

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

Wyodrębniaj tabele z obrazów do postaci ustrukturyzowanych danych.

Parametry

multipartimage(wymagane) - Plik obrazu
queryformat(opcjonalne) - Format odpowiedzi: json (domyślnie), csv, xlsx
queryversion(opcjonalne) - Wersja modelu: 261029 (domyślnie), 260428

Odpowiedź

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>"
    }
  ]
}

Każda tabela zawiera title oraz swoją zawartość jako ciąg tabeli HTML.

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

Pobieranie zwykłego tekstu CSV. Wiele tabel jest rozdzielonych separatorami --- SheetName ---. Content-Disposition: attachment; filename="tables.csv"

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

Pobieranie binarnego pliku XLSX. Każda tabela tworzy osobny arkusz nazwany zgodnie z jej tytułem. Content-Disposition: attachment; filename="tables.xlsx"

Przykład

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

Wyodrębniaj określone pola z obrazów za pomocą AI.

Parametry

multipartimage(wymagane) - Plik obrazu
queryfields(wymagane) - Pola do wyodrębnienia (powtórzone lub tablica JSON)
queryformat(opcjonalne) - Format odpowiedzi: json (domyślnie), csv, xlsx
queryversion(opcjonalne) - Wersja modelu: 261029 (domyślnie), 260428

Odpowiedź

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

Każde żądane pole jest zwracane jako key wraz z tablicą wyodrębnionych wartości values.

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

Plik CSV z kluczami pól jako nagłówkami kolumn i wyodrębnionymi wartościami jako wierszami. Content-Disposition: attachment; filename="extraction.csv"

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

Plik XLSX z pojedynczym arkuszem "Results" o takim samym układzie jak CSV. Content-Disposition: attachment; filename="extraction.xlsx"

Przykład

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"

Odpowiedzi błędów

401

Brak autoryzacji

{ "error": { "code": "unauthorized", "message": "Nieprawidłowy klucz API" } }
402

Niewystarczające saldo

{ "error": { "code": "insufficient_credits", "message": "Niewystarczające saldo. Doładuj konto." } }
429

Przekroczono limit żądań

{ "error": { "code": "rate_limit_exceeded", "message": "Przekroczono limit żądań. Spróbuj ponownie później." } }
500

Błąd wewnętrzny

{ "error": { "code": "internal_error", "message": "Nie udało się przetworzyć obrazu" } }