← Home

API d’extraction de données structurées

Le point de terminaison /ocr.json extrait des champs nommés depuis une image ou un document.

Le point de terminaison renvoie du JSON typé. Utilisez le paramètre de requête fields pour sélectionner les valeurs de la réponse.

Point de terminaison

POST https://api.ocrskill.com/ocr.json

Chaque requête nécessite un jeton Bearer.

Authorization: Bearer sk-your-key-here

Utilisez cette commande pour obtenir une clé API gratuite.

curl https://api.ocrskill.com/get-key.json

Démarrage rapide

Ajoutez les noms de champs à fields. Chargez ensuite un fichier.

curl "https://api.ocrskill.com/ocr.json?fields=last_name,first_name,nationality,birthdate" \
  -H "Authorization: Bearer sk-your-key-here" \
  -F "file=@identity-card.pdf"

Le point de terminaison renvoie ce JSON.

{
  "last_name": "MUSTERMANN",
  "first_name": "ERIKA",
  "nationality": "DEUTSCH",
  "birthdate": "1964-08-12"
}

Envoyer un fichier

Le point de terminaison accepte les envois multipart, les fichiers bruts et les URI de données JSON.

La taille maximale du fichier est de 20 Mo.

Envoi multipart

Envoyez le fichier dans le champ de formulaire file, image, document ou data.

curl "https://api.ocrskill.com/ocr.json?fields=thumbnail_hook_text,video_title,video_channel" \
  -H "Authorization: Bearer sk-your-key-here" \
  -F "file=@thumbnail.jpg"

Envoi binaire brut

Envoyez les octets du fichier avec le bon Content-Type.

curl "https://api.ocrskill.com/ocr.json?fields=company_name,invoice_date" \
  -H "Authorization: Bearer sk-your-key-here" \
  -H "Content-Type: application/pdf" \
  --data-binary "@invoice.pdf"

Corps JSON avec une URI de données

Envoyez un objet JSON avec une URI de données dans document_url (similaire et compatible avec l’API Mistral).

curl "https://api.ocrskill.com/ocr.json?fields=title,publish_date" \
  -H "Authorization: Bearer sk-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "document_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
  }'

Types de fichiers pris en charge

Le point de terminaison prend en charge les types d’images suivants :

  • PNG
  • JPEG
  • WebP
  • GIF
  • BMP
  • TIFF

Le point de terminaison prend aussi en charge les types de documents suivants :

  • PDF
  • Microsoft Word (DOC et DOCX)
  • Microsoft Excel (XLS et XLSX)
  • Microsoft PowerPoint (PPT et PPTX)
  • Fichiers texte, feuilles de calcul et présentations OpenDocument (ODT, ODS et ODP)
  • RTF
  • CSV

Sélectionner les champs

Le paramètre fields contient une liste de noms de champs séparés par des virgules.

Champs obligatoires

Un nom de champ sans suffixe exige une valeur. Le point de terminaison renvoie 400 s’il ne trouve pas cette valeur.

?fields=last_name,first_name,birthdate

Champs facultatifs

Ajoutez ? pour rendre un champ facultatif. La réponse omet ce champ si le point de terminaison ne le trouve pas.

?fields=last_name,first_name,birthdate?,nationality?

Utiliser le mode découverte

Omettez fields pour utiliser le mode découverte. Dans ce mode, le point de terminaison traite tous les champs pris en charge comme facultatifs.

La réponse contient uniquement les champs que le point de terminaison trouve.

curl "https://api.ocrskill.com/ocr.json" \
  -H "Authorization: Bearer sk-your-key-here" \
  -F "file=@report.docx"

Gérer les erreurs

Situation Statut Remarques
Nom de champ inconnu dans fields 400 L’erreur indique le champ non pris en charge.
Nom de champ vide 400 Supprimez les valeurs vides et les virgules finales.
Nom de champ en double 400 Indiquez chaque champ une seule fois.
Champ obligatoire manquant 400 L’erreur contient les détails d’extraction et le texte extrait dans input_text.
Jeton Bearer manquant ou non valide 401 Envoyez Authorization: Bearer sk-....
Type de fichier inconnu ou non pris en charge 400 Envoyez un type de fichier pris en charge.

Le point de terminaison formate les champs de date comme YYYY-MM-DD. Il supprime les espaces au début et à la fin des chaînes.

Le point de terminaison rejette la chaîne littérale "null".

Champs pris en charge

Vous pouvez sélectionner toute combinaison de ces noms de champs dans une requête.

Personnes

Champ Type Description
last_name string Nom de famille.
first_name string Prénom.
birthdate date Date de naissance (YYYY-MM-DD).
sex_gender string Sexe ou genre.

Adresses

Champ Type Description
street_name string Nom de voie d’une adresse postale.
street_number string Numéro de rue, de bâtiment ou de maison.
address_rest string Bloc, entrée, étage, appartement ou boîte postale.
town_or_city string Ville, commune ou localité.
county string Comté, district ou subdivision administrative.
judet string Județ roumain ou subdivision équivalente au niveau du comté.
region string Région, province, État ou zone plus vaste.
country string Nom du pays.

Carte d’identité

Champ Type Description
nationality string Nationalité.
cnp string Numéro d’identification personnel (Cod numeric personal).
id_card_series_number string Série ou numéro de la carte d’identité.
expiration_date date Date d’expiration de la carte d’identité (YYYY-MM-DD).
issue_date date Date de délivrance de la carte d’identité (YYYY-MM-DD).
id_card_issuer string Nom de l’autorité qui délivre la carte d’identité.
id_card_birth_place string Lieu de naissance indiqué sur la carte d’identité.

Certificat d’immatriculation

Champ Type Description
certificate_id string Numéro ou série du certificat d’immatriculation.
license_plate string A : numéro d’immatriculation ou plaque du véhicule.
first_registration_date date B : date de première immatriculation (YYYY-MM-DD).
holder_last_name string C.1.1 : nom de famille du titulaire.
holder_company string C.1.1 : nom de l’entreprise titulaire.
holder_first_name string C.1.2 : prénom du titulaire.
holder_full_address string C.1.3 : adresse complète ou siège social du titulaire.
owner_last_name string C.2.1 : nom de famille du propriétaire.
owner_company string C.2.1 : nom de l’entreprise propriétaire.
owner_first_name string C.2.2 : prénom du propriétaire.
owner_full_address string C.2.3 : adresse complète ou siège social du propriétaire.
vehicle_brand string D.1 : marque ou constructeur du véhicule.
vehicle_model string D.2 : type, variante, version ou modèle.
vehicle_commercial_summary string D.3 : description commerciale ou résumé du modèle.
vehicle_identification_number string E : VIN ou numéro de châssis.
max_technical_weight string F.1 : masse en charge maximale techniquement admissible.
vehicle_mass string G : masse du véhicule en service.
registration_valid_until date H : date de fin de validité de l’immatriculation (YYYY-MM-DD).
registration_date date I : date d’immatriculation (YYYY-MM-DD).
certificate_issue_date date I.1 : date de délivrance du certificat (YYYY-MM-DD).
vehicle_category string J : catégorie du véhicule.
type_approval_number string K : numéro de réception par type.
engine_capacity string P.1 : cylindrée du moteur.
engine_power string P.2 : puissance nette maximale du moteur.
fuel_type string P.3 : type de carburant ou source d’énergie.
power_to_weight_ratio string Q : rapport puissance/poids, s’il est présent.
vehicle_color string R : couleur du véhicule.
seats string S.1 : nombre de places assises, conducteur compris.
standing_places string S.2 : nombre de places debout, s’il est présent.
vehicle_identification_series string Y : série du livret d’identification du véhicule.
certificate_issuer string Z : nom de l’autorité qui délivre le certificat.
last_itp_date date Date du dernier contrôle technique périodique (YYYY-MM-DD).

Entreprises, factures et reçus

Champ Type Description
company_name string Nom de l’entreprise, de l’organisation ou de l’entité juridique.
buyer_name string Nom de l’acheteur.
seller_name string Nom du vendeur.
total_amount number Montant total facturé ou payé.
invoice_date date Date d’émission de la facture.
receipt_date date Date d’émission du reçu.

Œuvres écrites

Champ Type Description
title string Titre de l’article.
sub_title string Sous-titre de l’article.
article_abstract string Section de résumé de l’article.
article_body string Corps de l’article.
publish_date date Date de publication du contenu (YYYY-MM-DD).
article_tags string Étiquettes du contenu, séparées par des virgules.
tags string Étiquettes du contenu, séparées par des virgules.
concise_summary string Résumé concis du contenu, créé s’il n’est pas présent.

Événements

Champ Type Description
event_name string Nom ou titre de l’événement.
event_venue string Lieu ou lieux de l’événement.
event_dates string Date ou intervalle de l’événement, sous forme de texte.
event_date date Date complète ou partielle de l’événement (YYYY-MM-DD).

Miniatures vidéo

Champ Type Description
thumbnail_hook_text string Texte d’accroche de la vidéo ou du clip, tel qu’il apparaît.
video_title string Titre de la vidéo ou du clip.
video_channel string Nom de la chaîne du créateur.
video_length_str string Durée de la vidéo ou du clip, exactement comme elle apparaît.
date_posted_str string Date de publication, exactement comme elle apparaît.

Extraire du Markdown au lieu de JSON structuré

Utilisez le point de terminaison /ocr si vous avez besoin de Markdown au lieu de champs structurés. Il accepte les mêmes types de fichiers.

curl https://api.ocrskill.com/ocr \
  -H "Authorization: Bearer sk-your-key-here" \
  -F "file=@example.pdf"

Questions fréquentes

Que sont les données structurées ?

Les données structurées utilisent des champs nommés et des types cohérents. Le point de terminaison /ocr.json renvoie des chaînes, des nombres et des dates directement lisibles par votre application.

S’agit-il des données structurées Google ou du balisage schema.org ?

Non. Les données structurées Google décrivent les pages Web pour les moteurs de recherche. Elles utilisent JSON-LD ou des microdonnées dans une page Web.

OCRskill extrait du JSON typé depuis des fichiers. Votre application peut stocker ou traiter ce JSON.

La sortie possède-t-elle un schéma JSON ?

Oui. OCRskill crée le schéma de réponse à partir des fields demandés.

Les champs de date utilisent YYYY-MM-DD. Chaque champ de cette référence correspond à une propriété JSON typée.

Puis-je convertir un PDF en JSON, une image en PDF ou un PDF en image ?

Vous pouvez envoyer directement un PDF à /ocr.json. Vous ne devez pas convertir ses pages en images.

OCRskill ne convertit pas les images en PDF ni les PDF en images.

Comment extraire le texte d’une image ?

Appelez /ocr pour extraire du Markdown. Appelez /ocr.json avec fields pour extraire des valeurs nommées.

Puis-je transformer une image en prompt ?

Appelez /ocr pour extraire du Markdown destiné à un prompt. Utilisez /ocr.json si le prompt nécessite uniquement certaines valeurs.

Pourquoi l’extraction a-t-elle échoué ?

Le point de terminaison renvoie 400 s’il ne peut pas terminer une extraction. Lisez le message d’erreur pour connaître la cause.

Les causes fréquentes incluent un champ obligatoire manquant, un champ inconnu ou un champ en double. Elles incluent aussi un type de fichier non pris en charge.

L’erreur contient aussi input_text. Utilisez cette valeur pour contrôler le texte extrait par OCRskill avant l’échec de l’extraction structurée.

Puis-je utiliser OCRskill avec Claude ?

Oui. Utilisez OCRskill pour extraire du Markdown ou du JSON. Envoyez ensuite le résultat à Claude.