> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doconda.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Leer ficheros

> Cualquier fichero, convertido en Markdown listo para tu IA.

```json theme={null}
POST /v1/extract
{ "file": { "url": "https://ejemplo.com/contrato.pdf" } }
```

```json theme={null}
{
  "object": "extraction",
  "format": "pdf",
  "markdown": "<!-- página 1 -->\n\nCONTRATO DE ARRENDAMIENTO…",
  "chars": 18342,
  "truncated": false,
  "pages": 7
}
```

* **Formatos**: Word, PowerPoint, Excel, PDF (también `.doc`, `.ppt` y `.xls`), imágenes (PNG, JPG, GIF, WebP), TXT y Markdown.
* **Se conserva la estructura**: títulos, listas y tablas en Word (con pandoc; con control de cambios, el texto con los
  cambios aceptados); una sección por diapositiva (con sus notas) en PowerPoint y una tabla por hoja en Excel (con
  markitdown); en PDF, títulos, tablas y columnas en su orden, con marcas de página.
* **PDF escaneados e imágenes**: se leen con OCR, también sus tablas. Hasta 100 páginas escaneadas por PDF; las
  siguientes salen marcadas como «sin leer». Un PDF largo y escaneado puede tardar unos minutos: pasados 120 s
  recibes `202` y sigues el documento con `GET /documents/{id}`.
* Hasta 2 000 000 de caracteres; si es más largo, `truncated: true`. Un PDF puede tener hasta 1 000 páginas.
* **Es gratis**, dentro del límite de 120 documentos por minuto. Con `"store": false` no guardamos nada pasados 15 minutos.

## Cuatro formas de pasar un fichero

Sirven igual en `file` y `sources` de `POST /documents`, y aquí (en `POST /files`, las dos últimas):

| Cómo | Ejemplo |
| - | - |
| Un documento que ya hizo Doconda, por su id | `"doc_01JAB3…"` (usamos su Word, PowerPoint o Excel; o su PDF si es lo único que tiene) |
| Un fichero ya subido | `"file_01JAB3…"` |
| Una URL pública (http o https) | `{ "url": "https://…/report.docx" }` |
| Sus bytes en base64 | `{ "data": "UEsDBBQ…", "filename": "report.docx" }` |

También vale `multipart/form-data` con un campo `file`, como en `POST /files`. Máximo 20 MB.
Las URL solo pueden apuntar a direcciones públicas.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.