Seven document types
pdf, docx, txt, md, pptx (wowslides exports), xlsx and epub. The type is inferred from the URL; pass fileType when the URL has no extension.
Send one or more documents — pdf, docx, txt, md, pptx (wowslides), xlsx or epub — and get
Learn more about Document InfocardThe documents to read. Each item: fileId (your identifier, echoed back), filePath (public http(s) URL), fileType (optional; inferred from the URL), extractedContent (optional; pass the text yourself and the file is not downloaded). Either filePath or extractedContent is required per file.
Instant sample preview — no cost, no account. Sign up free to run with your own input.
{
"reqData": {
"processID": 4218,
"env": "PROD",
"extraInformation": "",
"files": [
{
"fileId": "doc-1",
"filePath": "https://example.com/report.pdf",
"fileType": null
}
]
},
"outputData": {
"infocard": {
"title": "Renewable Energy Transition in Europe",
"description": "A two-three sentence overview of the material.",
"summary": "250-300 word detailed summary ...",
"longSummary": "500-700 word narrative summary ...",
"keywords": [
"energy transition",
"solar",
"grid capacity"
],
"highlights": [
"Grid capacity, not generation, is the bottleneck."
],
"key_concepts": [
{
"term": "Capacity factor",
"definition": "The ratio of actual output to nameplate capacity."
}
],
"learning_objectives": [
"Explain why storage changes the economics of solar."
],
"key_points": [
"Solar reached 12% of generation in 2025."
],
"sections": [
{
"title": "Introduction",
"content": "..."
}
],
"extracted_content": "[Sayfa 1] ...",
"language": "en"
},
"lms_card": {
"...": "same object as infocard"
},
"files": [
{
"fileId": "doc-1",
"fileType": "pdf",
"ok": true,
"characters": 48210
}
]
},
"usage": {
"units": 1
}
}Example response from this endpoint's API reference. Sign in to run it on your own input.
This request costs 0.1 per item.
Send one or more documents — pdf, docx, txt, md, pptx (wowslides), xlsx or epub — and get back a single structured card describing the material: a title, a short description, a detailed summary and a long-form one, keywords, highlights, key concepts with definitions, learning objectives, key points, and the material's own outline as sections.
Several files are read as one body of material and produce one card — a slide deck plus its handout plus the reading list become a single coherent summary rather than three disconnected ones. Text extraction keeps the structure of the source: page and slide numbers, sheet names, headings, tables and speaker notes are marked in the text the model reads, so the card can refer to where something came from.
Long documents are summarised part by part and then merged, so a 400-page PDF works the same way a two-page memo does. The card is written in the language of the material unless you ask for another one.
pdf, docx, txt, md, pptx (wowslides exports), xlsx and epub. The type is inferred from the URL; pass fileType when the URL has no extension.
Every file in the request is treated as one body of material and produces a single merged card — not one card per file.
Page and slide numbers, spreadsheet sheet names, markdown headings, tables and PowerPoint speaker notes survive extraction and reach the model.
Material over ~60k characters is summarised chunk by chunk and then merged, so large PDFs and books do not need splitting on your side.
If you already extracted the text, send it as extractedContent and the file is not downloaded at all.
extraInformation is free text — say who the audience is or which angle to emphasise. language forces the card's language.
Course material
Turn a lecture deck and its reading into a study card with learning objectives and key concepts.
Onboarding docs
Summarise a policy pack into a short description plus key points people can actually read.
Content indexing
Use title, description and keywords to index a document library for search and recommendation.
Report digests
Get a 500-700 word narrative summary of a long report, plus quotable highlights.
input
A files array — each item a public document URL (or the already-extracted text), plus optional language and extraInformation.
output
One card under outputData.lms_card and outputData.infocard (the same object), plus a per-file extraction report.
Files in one request become one card. If you want one card per document, send one request per document — that is also what the per-item price assumes.
If your system already holds the text (you extracted it, or it was typed in), send it as extractedContent and omit filePath. Nothing is downloaded and the text is used verbatim.
Omit language and the card comes back in the language of the material. Set it ("tr", "en", …) and the card is written in that language whatever the source is; the output is checked and rewritten once if the model drifts back to the source language.
filesrequiredarray<object>The documents to read. Each item: fileId (your identifier, echoed back), filePath (public http(s) URL), fileType (optional; inferred from the URL), extractedContent (optional; pass the text yourself and the file is not downloaded). Either filePath or extractedContent is required per file.
languagestringLanguage of the card, ISO-639-1 (e.g. 'tr', 'en'). Detected from the material when omitted; the output is checked and rewritten once if it comes back in the wrong language.
extraInformationstringFree-text instruction for the card — the audience, the angle to emphasise, terminology to keep.
processIDintegerAn identifier echoed back in reqData so you can correlate the result with your own records.
envstringEchoed back in reqData. Carried for compatibility with existing integrations.
callbackUrlstringIf given, a POST is sent there when the job ends: { status, processID, job_id }. Polling still works; the callback is best-effort.
outputData.infocardobjectThe card. Same object as outputData.lms_card.
outputData.lms_cardobjectThe card under its original name, kept for existing integrations.
outputData.filesarray<object>Per-file extraction report: { fileId, fileType, ok, characters } — or { fileId, ok: false, error } for a file that could not be read.
reqDataobjectEcho of processID, env, extraInformation and the files you sent.
usage.unitsintegerNumber of files in the request — the billed item count.
Billed per file in the request. Document length does not change the price.
| Service | Unit | Price |
|---|---|---|
| Document Infocard | item | $0.10/req |
usage.units in the result is the number of files, which is what is billed.
Sending extractedContent instead of filePath costs the same — the price is per file, not per download.
AI Transcript & Video Understanding
Same upstream: transcribe video and generate metadata, chapters, quizzes and captions from the result.
Text Summarization
For a plain summary of text you already have, without the card structure.
Keyword Extraction
Keyword extraction on its own.
Chatbot
Feed the documents to a knowledge base for a chatbot that answers questions about them.