Documentation API

Intégrez FreeOCR.AI dans vos applications avec notre API.

Authentification

Toutes les requêtes API nécessitent une clé API transmise dans l'en-tête Authorization sous forme de jeton Bearer.

Authorization: Bearer focr_your_api_key_id

Créez et gérez vos clés API sur la page Clés API.


Limites de débit

Limite de débit par défaut : 200 requêtes par minute par clé API.

Les limites de débit peuvent être ajustées par clé. Contactez le support pour des limites personnalisées.


Extraire du texte des images en préservant la mise en page.

Paramètres

multipartimage(requis) - Fichier image
queryformat(facultatif) - Format de réponse: json (par défaut), text, docx
queryversion(facultatif) - Version du modèle: 260428 (par défaut)

Réponse

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

Retourne du GitHub Flavored Markdown avec préservation de la mise en page, incluant les tableaux HTML et les formules LaTeX.

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

Le Markdown est converti en texte brut via une conversion interne.

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

Téléchargement de fichier binaire. Content-Disposition: attachment; filename="result.docx"

Exemple

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

POST /table

Démo en direct

Extraire les tableaux des images en données structurées.

Paramètres

multipartimage(requis) - Fichier image
queryformat(facultatif) - Format de réponse: json (par défaut), csv, xlsx
queryversion(facultatif) - Version du modèle: 260428 (par défaut)

Réponse

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

Chaque tableau comprend un title et son contenu sous forme de chaîne HTML.

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

Téléchargement de fichier CSV en texte brut. Plusieurs tableaux sont séparés par des délimiteurs --- SheetName ---. Content-Disposition: attachment; filename="tables.csv"

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

Téléchargement de fichier XLSX binaire. Chaque tableau devient une feuille distincte nommée d'après son titre. Content-Disposition: attachment; filename="tables.xlsx"

Exemple

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

POST /extract

Démo en direct

Extraire des champs spécifiques des images à l'aide de l'IA.

Paramètres

multipartimage(requis) - Fichier image
queryfields(requis) - Champs à extraire (paramètre répété ou tableau JSON)
queryformat(facultatif) - Format de réponse: json (par défaut), csv, xlsx
queryversion(facultatif) - Version du modèle: 260428 (par défaut), 260215

Réponse

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

Chaque champ demandé est retourné sous forme de key avec un tableau de values extraites.

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

Fichier CSV avec les clés de champ comme en-têtes de colonne et les valeurs extraites comme lignes. Content-Disposition: attachment; filename="extraction.csv"

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

Fichier XLSX avec une seule feuille "Results", même disposition que le CSV. Content-Disposition: attachment; filename="extraction.xlsx"

Exemple

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"

Réponses d'erreur

401

Non autorisé

{ "error": { "code": "unauthorized", "message": "Clé API invalide" } }
402

Solde insuffisant

{ "error": { "code": "insufficient_credits", "message": "Solde insuffisant. Veuillez recharger." } }
429

Limite de débit dépassée

{ "error": { "code": "rate_limit_exceeded", "message": "Limite de débit dépassée. Réessayez plus tard." } }
500

Erreur interne

{ "error": { "code": "internal_error", "message": "Échec du traitement de l'image" } }