This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

OCR / Wyodrębnianie tekstu

Wyodrębniaj tekst z obrazów za pomocą optycznego rozpoznawania znaków wspomaganego AI. Obsługuje wiele języków i poziomów jakości.

Punkt końcowy API

POST /api/v1/tools/image/ocr

Przetwarzanie: Synchroniczna odpowiedź JSON. Jeśli podano clientJobId, postęp jest też raportowany przez SSE.

Pakiet modeli: ocr (5-6 GB)

Parametry

ParametrTypWymaganyDomyślnieOpis
filefileTak-Plik obrazu (multipart)
qualitystringNie"balanced"Poziom jakości: fast (Tesseract), balanced (PaddleOCR v5), best (PaddleOCR VL)
languagestringNie"auto"Podpowiedź językowa: auto, en, de, fr, es, zh, ja, ko
enhancebooleanNietrueWstępnie przetwórz obraz dla lepszej dokładności OCR
enginestringNie-Przestarzały. Użyj quality. Mapuje tesseract na fast, paddleocr na balanced

Przykładowe żądanie

bash
curl -X POST http://localhost:1349/api/v1/tools/image/ocr \
  -F "[email protected]" \
  -F 'settings={"quality":"best","language":"en","enhance":true}'

Odpowiedź (200 OK)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "filename": "document.png",
  "text": "Extracted text content from the image...",
  "engine": "paddleocr-vl"
}

Postęp (SSE, opcjonalnie)

Jeśli podano pole formularza clientJobId, zdarzenia postępu są strumieniowane:

event: progress
data: {"phase":"processing","stage":"Recognizing text...","percent":50}

Uwagi

  • Wymaga zainstalowania pakietu modeli ocr (5-6 GB).
  • OCR zwraca wyodrębniony tekst bezpośrednio, a nie adres URL do pobrania obrazu.
  • Używa łańcucha awaryjnego: jeśli poziom o wyższej jakości ulegnie awarii (np. segfault PaddleOCR), automatycznie ponawia próbę z kolejnym niższym poziomem.
  • Jeśli poziom zwróci pusty tekst bez awarii, również przełącza się na kolejny poziom.
  • Poziomy jakości mapują się na silniki: fast = Tesseract, balanced = PaddleOCR v5, best = PaddleOCR VL.
  • Obsługuje formaty wejściowe HEIC/HEIF, RAW, TGA, PSD, EXR i HDR poprzez automatyczne dekodowanie.