> ## 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 actualizar un PowerPoint existente con contenido nuevo?

> Sube el .pptx y pide los cambios con operation edit: añade, ordena o quita diapositivas manteniendo el diseño de la presentación.

Para actualizar un PowerPoint existente, súbelo y pide los cambios en una frase con `operation: "edit"` («añade una
diapositiva con los resultados de marzo después de la 3»). Doconda añade, ordena o quita diapositivas manteniendo el
diseño, y deja intacto todo lo que no pides.

## Pasos

1. Guarda tu API key en `DOCONDA_API_KEY` e instala el SDK (`pip install doconda` o `npm install @doconda/sdk`).
2. Sube la presentación con `files.upload`.
3. Pide los cambios y descarga el `.pptx`.

<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
  file = doconda.files.upload("comite.pptx")
  edited = doconda.documents.create(
      operation="edit",
      file=file["id"],
      prompt="Añade una diapositiva con las ventas de marzo (48.000 €) después de la 3 y quita la última",
  )
  Path("comite-actualizado.pptx").write_bytes(doconda.documents.download(edited["id"], "pptx"))
  ```

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

  const doconda = new Doconda()
  const file = await doconda.files.upload(await readFile("comite.pptx"), "comite.pptx")
  const edited = await doconda.documents.create({
    operation: "edit",
    file: file.id,
    prompt: "Añade una diapositiva con las ventas de marzo (48.000 €) después de la 3 y quita la última",
  })
  await writeFile("comite-actualizado.pptx", await doconda.documents.download(edited.id, "pptx"))
  ```
</CodeGroup>

## Qué devuelve

* La misma presentación con solo los cambios pedidos, en `.pptx`, y su PDF.
* Un informe (`documents.report(id)`). El resultado se revisa como en [Revisar](/guides/review): texto que se sale de
  su cuadro, formas fuera de la diapositiva, diapositivas sin título…
* `status`: `ready`, `ready_with_warnings`, `needs_review` o `failed`. Si la petición no se puede convertir en
  cambios, `failed` con `edit_not_understood`, sin cobrar.

## Límites

* Máximo 50 páginas.
* Acepta `.ppt`: el resultado sale en `.pptx`.
* En `quality: "fast"` y con `.ppt`, cada cambio llega como evento `edit.operation_applied` con el antes y el después.

## Otra opción: una presentación nueva con tu plantilla

Si prefieres rehacerla, crea una presentación nueva y pasa la tuya en `sources` diciendo «con el diseño de nuestra
plantilla». Una presentación se usa como plantilla: el resultado parte de sus diapositivas. Necesita `standard` o
`best`. Ver [Copiar el diseño de un archivo](/guides/create#copiar-el-diseño-de-un-archivo).

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿Se mantiene el tema de la presentación?">
    Sí. Solo cambia lo que pides; lo nuevo sigue el diseño de las diapositivas que ya hay.
  </Accordion>

  <Accordion title="¿Puedo usar una presentación que ya hizo Doconda?">
    Sí: en `file` pasa su id (`doc_…`).
  </Accordion>

  <Accordion title="¿Cómo leo el texto de una presentación?">
    Con [`extract`](/guides/extract): una sección por diapositiva, con sus notas.
  </Accordion>
</AccordionGroup>

## Sigue leyendo

* [Editar](/guides/edit) y [SDK: revisar y editar](/sdk/review-edit).
* [Quickstart](/quickstart).


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