Casos de uso
Para qué usar DocumenTo.MD en tus proyectos y automatizaciones
RAG y pipelines de LLMs
Los modelos de lenguaje (GPT, Claude, Llama) no pueden leer PDFs o DOCX directamente. DocumenTo.MD los normaliza a Markdown limpio antes de que entres en tu pipeline de chunking y embeddings.
- ✓ Preserva headings, listas y tablas en formato estructurado
- ✓ Output limpio sin metadatos basura
- ✓ API síncrona para procesamiento en streaming
- ✓ Compatible con LangChain, LlamaIndex y cualquier vector DB
import requests def document_to_markdown(file_path, api_key): with open(file_path, "rb") as f: resp = requests.post( "https://documento.md/v1/convert", headers={"Authorization": f"Bearer {api_key}"}, files={"file": f}, data={"wait": "true"}, ) return resp.json()["markdown"] # 1. Convertir PDF a Markdown markdown = document_to_markdown("informe.pdf", api_key) # 2. Chunking + embeddings (LangChain, LlamaIndex...) # 3. Almacenar en tu vector DB (Pinecone, Weaviate, Qdrant...) # 4. Retrieval + generation con tu LLM
# Convertir todos los .docx de una carpeta for file in *.docx; do curl -X POST "https://documento.md/v1/convert" \ -H "Authorization: Bearer $DTMD_KEY" \ -F "file=@$file" \ -F "wait=true" \ | jq -r '.markdown' \ > "${file%.docx}.md" done # Commit a git para tu wiki/docs git add *.md && git commit -m "migración docx → md"
Migración de documentación legacy
Tienes cientos de documentos en Word, PDFs o wikis internas. Conviértelos a Markdown de una vez y muévelos a un repo git, un CMS moderno o un generador de sitios estáticos (Astro, Hugo, MkDocs).
- ✓ Conversión por lotes con un script de una línea
- ✓ Preserva la estructura jerárquica (H1-H6)
- ✓ Markdown compatible con GitHub Flavored
- ✓ Versionado en git a partir de ahora
Indexación para búsqueda
Los archivos binarios (PDF, PPTX, XLSX) son invisibles para Elasticsearch, Meilisearch o Algolia. Conviértelos a texto indexable y haz que tus documentos aparezcan en los resultados de búsqueda.
- ✓ Extracción de texto puro sin formato binario
- ✓ Compatible con cualquier motor de búsqueda
- ✓ Procesamiento de colas de documentos en paralelo
from elasticsearch import Elasticsearch import requests es = Elasticsearch() def index_document(file_path, doc_id, api_key): with open(file_path, "rb") as f: resp = requests.post( "https://documento.md/v1/convert", headers={"Authorization": f"Bearer {api_key}"}, files={"file": f}, ) markdown = resp.json()["markdown"] es.index(index="docs", id=doc_id, document={ "content": markdown, "filename": file_path, })
Automatización con n8n
Conecta DocumenTo.MD a cualquier herramienta usando n8n. Convierte archivos automáticamente cuando lleguen por email, se suban a Google Drive o se envíen por webhook.
Crea tu API Key
Regístrate en documento.md, entra al Dashboard → API Keys y crea una nueva key. Copia el valor completo (dtmd_live_...).
Crea un workflow en n8n
En n8n, crea un nuevo workflow. Empieza con un nodo trigger según tu fuente de archivos:
"On file added"
"On email with attachment"
"On HTTP request"
Añade un nodo HTTP Request
Configura el nodo con estos valores exactos:
| Method | POST |
| URL | https://documento.md/v1/convert |
| Authentication | Header Auth |
| Header Name | Authorization |
| Header Value | Bearer dtmd_live_tu_api_key |
| Body Content-Type | multipart/form-data |
| Field: file | $json.binary.data |
| Field: wait | true |
Usa el Markdown de salida
El nodo HTTP Request devuelve JSON. El campo markdown contiene el resultado. Conéctalo a cualquier nodo de destino:
Crear página
Enviar mensaje
Guardar .md
Workflow completo (copia e importa en n8n)
{
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"url": "https://documento.md/v1/convert",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{ "name": "Authorization", "value": "Bearer dtmd_live_TU_API_KEY" }
]
},
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{ "parameterType": "organizationBinaryData", "inputDataFieldName": "data", "name": "file" },
{ "name": "wait", "value": "true" }
]
}
},
"name": "Convertir a Markdown",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [460, 300]
}
],
"connections": {}
}
Cambia dtmd_live_TU_API_KEY por tu API Key real. Conecta un nodo trigger antes y un nodo de destino después.
import requests from pathlib import Path from concurrent.futures import ThreadPoolExecutor API_KEY = "dtmd_live_tu_key" API_URL = "https://documento.md/v1/convert" def convert_one(file_path): with open(file_path, "rb") as f: resp = requests.post(API_URL, headers={"Authorization": f"Bearer {API_KEY}"}, files={"file": f}, data={"wait": "true"}, ) md = resp.json()["markdown"] Path(file_path).with_suffix(".md").write_text(md) print(f"✓ {file_path}") files = list(Path(".").glob("*.pdf")) with ThreadPoolExecutor(max_workers=5) as pool: pool.map(convert_one, files)
Procesamiento batch
¿Tienes una carpeta llena de documentos? Conviértelos todos en paralelo con un script simple. El endpoint /v1/convert/batch acepta hasta 10 archivos por petición, o usa threads para más.
- ✓ Hasta 10 archivos por petición con
/v1/convert/batch - ✓ Conversión paralela con ThreadPoolExecutor
- ✓ Fallos individuales no abortan el lote
¿Listo para automatizar?
Crea tu cuenta, genera una API Key y empieza a convertir en menos de un minuto.