Transformez vos fichiers en contenu structuré.
Un seul appel transforme un PDF, une numérisation, un fichier bureautique ou un enregistrement en markdown propre et en JSON structuré — avec une boîte englobante sur chaque bloc produit, pas seulement les tableaux et les images.
Regardez la page avant de la payer.
La plupart des API d'analyse exécutent le même modèle sur chaque page et vous les facturent toutes. Nous acheminons d'abord. Trois pages sur quatre n'atteignent jamais un modèle.
- 01
Envoyez le fichier. C'est toute la configuration.
Aucun schéma, aucun gabarit, aucune configuration à préparer. Parse prend une URL ou un identifiant de fichier et décide comment le lire. Forcez la décision avec un seul champ quand vous savez déjà — la ROC sur une mauvaise télécopie, la transcription sur un enregistrement arrivé en PDF.
- 02
Le lire avec le plus petit outil qui suffit
Un PDF nativement numérique a déjà une couche de texte. Une lettre à une colonne n'a aucune mise en page à résoudre. Ceux-là passent par un pipeline déterministe, sans GPU et sans frais. Seul le quart difficile — numérisations, tableaux denses, documents multicolonnes — atteint la ROC et rakedoc-nano.
- 03
Markdown pour les gens. JSON pour tout le reste.
Une seule lecture produit deux artefacts. Du markdown qu'une personne peut ouvrir et qu'un modèle peut découper, et du JSON structuré qui porte les blocs, leur page et leur position. L'audio saute le markdown et retourne la transcription, avec une langue détectée et des segments minutés.
- 04
Chaque élément garde sa boîte
Paragraphes, titres, éléments de liste, cellules de tableau, figures, notes — chacun revient avec le rectangle qu'il occupait. La plupart des services encadrent les images et les tableaux et laissent le texte en flux continu. Encadrer le texte, c'est ce qui permet ensuite de caviarder une clause, de signer à un ancrage, de citer une région source, ou de montrer à un vérificateur la cellule exacte d'où vient un chiffre.
- 05
Attendez, ou pas
Un petit fichier revient terminé dans le même appel. Un long enregistrement ou une numérisation de 300 pages revient avec un identifiant à interroger, ou un webhook si vous préférez être avisé. Dans tous les cas, la lecture est conservée : passez le même identifiant de fichier à extract, redact ou sign et rien n'est analysé deux fois.
Un seul point d'entrée. Tout ce qui arrive.
Le courrier ne se trie pas tout seul avant de vous arriver. Parse ne vous demande donc pas de le trier d'abord.
L'analyseur est le nôtre. Les poids aussi.
rakedoc-nano est le modèle qui lit le quart difficile. Il est premier parmi tous les modèles vision-langage sur ParseBench — modèles propriétaires de pointe inclus — et il est publié sur Hugging Face sous AGPL-3.0, pour que vous puissiez le vérifier vous-même.
- 77.2 ParseBench, global Premier parmi les VLM, cinquième au total
- 1.2 B Paramètres Tourne sur tout GPU de 8 Go, ~6 pages/s sur un H100
- $0.60 Par 1 000 pages Au volume entreprise; 2 $ au tarif courant, et seulement sur les pages qui exigent un modèle
- AGPL-3.0 Poids ouverts Exécutez-le, inspectez-le, ajustez-le, gardez les documents dans votre périmètre
Score global ParseBench — classement, incluant notre soumission
- LlamaParse Cost Effective 80,6
- rakedoc-nano le nôtre, poids ouverts 77,2
- florin-parser-nano ouvert 76,7
- Gemini 3 Flash 75,1
- Reducto (Agentic) 73,0
- Fable 5 70,8
- Datalab Accurate 70,0
- Opus 4.8 63,7
- Azure Document Intelligence 59,6
- Google Document AI 50,4
- AWS Textract 47,9
rakedoc-nano, par dimension
- 86,4 Tableaux Devant toutes les API d'analyse sauf une
- 88,8 Fidélité du contenu À 3,5 points du meilleur du banc
- 71,7 Mise en forme sémantique Sixième au total, troisième parmi les VLM
- 74,3 Ancrage Les boîtes, évaluées
- 64,9 Graphiques La dimension dont nous sommes le moins fiers
Chaque chiffre ici vient du classement public ParseBench, y compris notre propre soumission. Notre score est la moyenne de trois exécutions complètes sur un seul H100; l'écart entre exécutions est resté sous ±0,2 sur chaque dimension. Les modèles sans prix publié figurent quand même au graphique. Nous préférons que vous vérifiiez les chiffres plutôt que de nous croire sur parole.
Un analyseur que vous pouvez emporter.
Nous publions les poids, la lignée, le commit exact du banc d'essai et le bruit mesuré entre les exécutions. Hébergez rakedoc-nano vous-même avec vLLM sur toute carte de 8 Go et aucun document ne quitte votre réseau. C'est étrange à donner, et c'était voulu — un analyseur est le plancher de tout ce qui se construit dessus, et un plancher que personne ne peut inspecter est un plancher sur lequel personne ne devrait se tenir.
Placé en amont d'un plus gros modèle, un petit analyseur gagne sa place deux fois. Il réduit le nombre de jetons que le modèle en aval doit lire, et ses boîtes lui permettent de pointer un mot sur une page au lieu de le paraphraser. Envoyez-nous les documents qui le mettent en échec. C'est ainsi que la prochaine version est entraînée.
Vous payez probablement pour lire des pages qui se lisent seules.
L'analyse est vendue à la page parce que c'est facile à facturer, pas parce que chaque page coûte le même prix à lire.
- FacturationCe que tout le monde facture Un tarif par page, peu importe ce qu'elle contient.Ce que nous facturons Rien pour les pages qu'une règle peut lire — trois sur quatre dans notre propre trafic. Le modèle n'est facturé que sur le quart qui l'exige.
- BoîtesCe que tout le monde facture Mise en page et structure des tableaux en options payantes.Ce que nous facturons Inclus, sur chaque élément, texte compris. Il n'existe aucune version de Parse qui retourne un flux de mots sans coordonnées.
- DépendanceCe que tout le monde facture Un modèle fermé, et une facture qui suit votre volume pour toujours.Ce que nous facturons Les poids sont sur Hugging Face sous AGPL-3.0. Auto-hébergez à forte utilisation et le coût marginal tombe sous 0,30 $ par 1 000 pages — sur votre matériel, avec notre bénédiction.
- PreuveCe que tout le monde facture Un chiffre marketing tiré d'une évaluation interne.Ce que nous facturons Un classement public, une demande de tirage soumise, le commit exécuté, et l'écart de ±0,2 sur trois exécutions. Reproduisez-le si vous voulez.
Un appel. Markdown, JSON et boîtes.
Aucun schéma à définir d'abord, rien à configurer. Le deuxième appel ci-dessous est extract, réutilisant le même identifiant de fichier — la page est déjà lue, elle n'est donc pas relue.
import { CloudRakerClient } from "@cloudraker/api";
const client = new CloudRakerClient({ token: "YOUR_API_KEY" });
// 1 - Read the file. Routing is automatic; override it when you know better.
const run = await client.parse({
body: { file: { url: "https://example.com/rate-filing.pdf" } },
});
console.log(run.output?.markdownUrl); // rendered markdown, time-limited URL
console.log(run.output?.jsonUrl); // blocks, page, and position
// 2 - Every block carries the rectangle it came from
const parsed = await client.fetch(run.output!.jsonUrl);
for (const block of parsed.blocks) {
console.log(block.type, block.page, block.bbox, block.text.slice(0, 60));
}
// 3 - The read is attached to the file, not the call. No second parse.
const data = await client.extract({
body: {
files: [{ id: run.file.id }],
schema: {
type: "object",
properties: { effective_date: { type: ["string", "null"] } },
},
citations: true,
},
});
console.log(data.output?.value);from cloudraker.client import CloudRaker
client = CloudRaker(token="YOUR_API_KEY")
# 1 - Read the file. Routing is automatic; override it when you know better.
run = client.parse(file={"url": "https://example.com/rate-filing.pdf"})
print(run.output.markdown_url) # rendered markdown, time-limited URL
print(run.output.json_url) # blocks, page, and position
# 2 - Every block carries the rectangle it came from
for block in client.fetch(run.output.json_url)["blocks"]:
print(block["type"], block["page"], block["bbox"], block["text"][:60])
# 3 - The read is attached to the file, not the call. No second parse.
data = client.extract(
files=[{"id": run.file.id}],
schema={
"type": "object",
"properties": {"effective_date": {"type": ["string", "null"]}},
},
citations=True,
)
print(data.output.value)La même lecture. Pas le même métier.
Les trois chemins diffèrent sur qui fait l'appel. Ce qui revient, c'est le même markdown, le même JSON et les mêmes boîtes.
Parse est la première étape de la plupart des autres.
Extract, redact, fill, compose, redline et sign commencent tous par lire la page. La même fondation, une seule lecture.
Envoyez-nous la page qui le met en échec.
Le palier gratuit couvre des milliers de pages par mois, et les pages qu'une règle peut lire ne comptent jamais. Pointez Parse vers votre pire document et lisez ce qui revient.