Indexer un PDF
Cette capacité indexe un PDF page par page. Un modèle de vision lit le contenu — texte natif comme page scannée — puis chaque page est vectorisée et rangée dans un index. Vous interrogez ensuite un contrat ou un dossier volumineux en langage courant, et vous retrouvez la page qui répond.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Un lecteur qui voit la page
Beaucoup de PDF administratifs sont des scans : un moteur classique n’y trouve aucun texte. Ici, un modèle de vision lit la page comme le ferait un œil humain, y compris un contrat photographié ou un justificatif numérisé de travers. Le contenu ainsi reconnu est vectorisé, si bien qu’un dossier de location scanné ou un vieux bail deviennent aussi interrogeables qu’un fichier saisi à l’ordinateur.
De la page à la réponse
Chaque page indexée conserve son rang, ce qui permet de citer précisément où se trouve l’information. Vous demandez « quelle est la durée du préavis » sur un bail de trente pages et l’index pointe la page concernée, au lieu de vous laisser faire défiler le document. C’est le socle sur lequel s’appuient ensuite la recherche par le sens et les réponses avec sources.
Ce que coûte l’indexation d’un document
Le tarif se compte à la page, car lire une page avec un modèle de vision demande plus de travail qu’une simple vectorisation de texte : $0.010 par requête, plus $0.059 par page traitée. Un contrat de vingt pages revient donc à un peu plus d’un dollar. Le nombre de pages est connu d’avance : le montant s’affiche avant de lancer.
Cas d’usage
Dossier de location
Camille Moreau réunit bail, état des lieux et diagnostics en un dossier scanné, puis l’indexe. Retrouver « le montant du dépôt de garantie » ne demande plus de rouvrir chaque pièce : la bonne page remonte directement.
Contrats d’une TPE
Menuiserie Rousseau & Fils indexe ses contrats fournisseurs, y compris ceux signés à la main et scannés. La question « quelles clauses parlent de pénalités de retard » devient une recherche, pas un feuilletage de classeur.
Archives d’un cabinet
Un cabinet indexe des rapports d’expertise anciens, disponibles seulement en scan. Des documents jusque-là illisibles par machine redeviennent consultables par le sens, page par page.
Questions fréquentes
Les PDF scannés fonctionnent-ils vraiment ?
Oui, c’est tout l’intérêt : un modèle de vision lit la page image, y compris une numérisation imparfaite. Un PDF composé uniquement de photos de pages, où la recherche classique ne trouve aucun texte, devient interrogeable.
Pourquoi payer à la page et non au volume de texte ?
Parce que le travail se situe au niveau de la page : la lire avec un modèle de vision coûte plus qu’une vectorisation de texte brut. Facturer $0.059 par page reflète ce coût réel et reste prévisible, puisque vous connaissez le nombre de pages.
Mes documents restent-ils confidentiels ?
Le PDF est envoyé chiffré à nos serveurs pour être lu et indexé, puis conservé le temps que vous utilisez l’index. Il ne sert à rien d’autre et n’entraîne aucun modèle. Vous pouvez demander sa suppression à [email protected].
Y a-t-il une limite de taille ou de pages ?
Un index accepte jusqu’à 10 000 fragments ; un document très épais est simplement découpé sur plusieurs pages et fragments. Pour un dossier hors norme, écrivez-nous afin de cadrer le traitement.
Que faire si la lecture d’une page est mauvaise ?
Une page très dégradée peut être mal reconnue. Signalez-le : une vraie personne vous répond en espagnol ou en anglais, et vous pouvez réindexer la pièce concernée sans reprendre tout le document.
Puis-je ensuite poser des questions au document ?
Oui. Une fois le PDF indexé, la recherche par le sens et les réponses sourcées s’appuient dessus pour retrouver la bonne page et, si vous le voulez, formuler une réponse rédigée.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/search/index-document \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/search/index-document", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/search/index-document",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/search/index-document", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/search/index-document", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "search.index_document",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chunks | 10000 |
max_tokens | 20000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
413 | input_too_large | Entrée trop volumineuse : consultez la limite de taille de cette capacité. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |