> ## 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.

# Cómo hacer que un LLM devuelva un archivo de Office

> Cómo conseguir que un LLM como GPT, Claude o Gemini devuelva un Word, un PowerPoint o un Excel de verdad en vez de texto.

Un LLM devuelve texto, no archivos. Para obtener un Word, un PowerPoint o un Excel, pide al modelo el contenido en
Markdown y pásalo a Doconda con el `format` que quieras (`docx`, `pptx`, `xlsx` o `pdf`). O dale a tu agente las
herramientas de Doconda con `doconda.tools()` y que cree el archivo él mismo.

## El problema en la práctica

* El modelo responde con Markdown o con un bloque de código, no con un `.docx` que puedas descargar.
* Si le pides que escriba el código que genera el archivo, tienes que ejecutarlo tú y depurar lo que falle.
* Un archivo que se genera sin errores puede abrirse mal: tablas que se salen, textos que no caben en la diapositiva.
* Cada formato (Word, PowerPoint, Excel) pide su propia librería y su propio código.

## La solución con Doconda

Con el texto que ya devolvió tu LLM:

<CodeGroup>
  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  from pathlib import Path
  from doconda import Doconda

  doconda = Doconda()  # lee la key de DOCONDA_API_KEY
  markdown = "# Informe Q3\n\n## Ventas\n\n- Crecen un 12 %"  # la respuesta de tu LLM
  doc = doconda.documents.create(format="pptx", content={"markdown": markdown})
  Path("informe.pptx").write_bytes(doconda.documents.download(doc["id"], "pptx"))
  ```

  ```ts TypeScript theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  import { writeFile } from "node:fs/promises"
  import { Doconda } from "@doconda/sdk"

  const doconda = new Doconda()
  const markdown = "# Informe Q3\n\n## Ventas\n\n- Crecen un 12 %" // la respuesta de tu LLM
  const doc = await doconda.documents.create({ format: "pptx", content: { markdown } })
  await writeFile("informe.pptx", await doconda.documents.download(doc.id, "pptx"))
  ```
</CodeGroup>

O como herramienta para tu agente, válida para cualquier modelo con llamada a funciones. Cada una trae `name`,
`description`, `input_schema` (JSON Schema) y `run(args)`:

<CodeGroup>
  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  tools = doconda.tools()
  ```

  ```ts TypeScript theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  const tools = doconda.tools()
  ```
</CodeGroup>

Cómo conectarlas en cada plataforma: [Doconda en tu agente](/agents/introduction).

## Qué recibes

* El archivo pedido; Word, PowerPoint y Excel vienen también con su PDF.
* `status`: `ready`, `ready_with_warnings`, `needs_review` o `failed` (no se cobra).
* Un informe (`documents.report(id)`) con lo que conviene mirar antes de enviarlo.
* Con herramientas, tu agente recibe un resumen corto (estado y enlaces) que puede contar al usuario.

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿ChatGPT o Claude pueden generar un archivo .docx desde la API?">
    La respuesta del modelo es texto. Pídele el contenido en Markdown y conviértelo en `.docx` con
    `documents.create(format="docx", content={"markdown": ...})`, o deja que el agente llame a la herramienta
    `create_document`.
  </Accordion>

  <Accordion title="¿Cómo genero un PowerPoint con un LLM?">
    Usa `format="pptx"` con el Markdown de tu LLM en `content`. Sin contenido propio, describe la presentación en
    `prompt` y Doconda la escribe. Sale en 16:9 y con su PDF.
  </Accordion>

  <Accordion title="¿Funciona con mi framework de agentes?">
    Sí. Hay servidor MCP, herramientas del SDK para Claude, OpenAI, Gemini, Bedrock, Vertex AI y el AI SDK, y la API
    REST. La lista completa está en [Doconda en tu agente](/agents/introduction).
  </Accordion>
</AccordionGroup>

## Sigue leyendo

* [Doconda en tu agente](/agents/introduction): MCP, herramientas del SDK y API.
* [Crear](/guides/create) y [Revisar](/guides/review).
* [SDK de Python](/sdk/python) y [SDK de TypeScript](/sdk/introduction).
* [Ejemplos en GitHub](https://github.com/B-C-Software/doconda-examples).


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