Saltar al contenido principal
Da por hecho que has completado el quickstart.
POST /v1/convert pasa un fichero a otro formato sin IA, en una sola llamada. Esta guía cubre qué formatos se convierten en cuáles, cómo leer el resultado, cuánto cuesta y las cuatro formas de pasar el fichero.

Convierte un fichero

Envía el fichero y el formato de destino en to. Doconda responde con el texto convertido o con un enlace al fichero convertido.
La respuesta es una conversion:
pages cuenta las páginas (PDF, Word), diapositivas (PowerPoint) u hojas (Excel) del fichero que enviaste.

Qué se convierte en qué

Cualquier otra pareja se rechaza con 400 conversion_not_supported, y el mensaje dice a qué formatos puede pasar ese fichero. Un fichero que no se puede convertir falla con 422 y su código de error (convert_failed si no hay otro más concreto).

Lee el resultado

Dónde llega el resultado depende de to:
  • md, txt, html y csv vuelven en text, y output es null. Doconda borra el resultado en cuanto responde, así que después GET /convert/{id} devuelve 404 not_found.
  • docx, pdf, odt, rtf, xlsx y pptx vuelven en output, y text es null. output.url es un enlace de descarga que vale 5 minutos. El fichero se borra 15 minutos después de hacerse (expires_at); hasta entonces, GET /convert/{id} te da un enlace nuevo.
Cómo se lee cada formato:
  • Word: títulos, listas, tablas, imágenes y notas al pie. Las formas, los cuadros de texto y los gráficos no pasan a Markdown, HTML ni RTF.
  • PowerPoint: una sección por diapositiva (separadas por ---), el título como ##, las viñetas con su nivel, las tablas, las imágenes por su texto alternativo y las notas del orador como cita.
  • Excel: una tabla por hoja visible, con los valores que muestran las celdas (fórmulas calculadas). A CSV, solo la primera hoja.
  • PDF: títulos, párrafos, listas y tablas reconstruidos a partir de la página; fuera las cabeceras y pies repetidos y los números de página.
  • PDF escaneados e imágenes: se leen con OCR.
  • A PDF: los documentos llevan las mismas fuentes que usa Doconda en todo (Calibri como Carlito, Cambria como Caladea…).

Espera una conversión larga

Una llamada espera hasta 120 s. Un PDF escaneado largo puede tardar minutos: entonces la llamada responde 202 con { "object": "conversion", "id", "status" }, donde status es queued o running. Llama a GET /convert/{id} en los 15 minutos siguientes para recoger el resultado; también responde 202 mientras sigue convirtiendo. El convert() de los SDK lo hace por ti: pregunta cada 2 s y devuelve la conversión terminada.

Precio

Las 1000 primeras conversiones de cada mes natural (UTC) son gratis para cada organización. Después, cada una cuesta 0,01 € del saldo, tenga las páginas que tenga (precios).
  • Las conversiones fallidas no se cobran ni cuentan para las 1000 gratis.
  • Pasadas las gratis y sin saldo, la llamada se rechaza con 402 insufficient_balance.
  • Una conversión no sale en la lista de documentos y no manda webhooks.
  • Las conversiones cuentan para el límite de 120 documentos por minuto de cada organización; por encima, 429 rate_limited.

Cuatro formas de pasar un fichero

file admite aquí las mismas cuatro formas que file y sources en POST /documents: También puedes enviar multipart/form-data, con el campo to antes del campo file:
Ten en cuenta:
  • Los ficheros tienen un máximo de 20 MB.
  • Las URL tienen que apuntar a direcciones públicas; las privadas y locales se rechazan.
  • Un fichero enviado por URL, base64 o multipart se borra 15 minutos después de la llamada.

Desde el SDK

doconda.convert(file, to) acepta un ID file_… o doc_…, una URL, una ruta local o bytes con su filename, y devuelve la conversión terminada.
Si pasas bytes sin filename, el SDK lanza un error antes de llamar a la API, porque la extensión le dice a Doconda el formato. Los agentes tienen la misma operación con la herramienta convert_file del servidor MCP.

Siguientes pasos

Crea un documento

Haz un Word, PowerPoint, Excel o PDF nuevo desde una frase o desde tu Markdown.

Edita un fichero

Cambia parte de un fichero y deja el resto como estaba.

Referencia de la API

Todos los parámetros de POST /convert y GET /convert/{id}.