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

# Inicio rápido

> Tu primera conversión con Python SDK en menos de 15 líneas.

# Inicio rápido

## Convertir un archivo local

```python theme={null}
import markpdf

client = markpdf.Client(api_key="YOUR_API_KEY")

markdown = client.convert_file("report.pdf", mode="fast")
print(markdown)
```

`convert_file` carga el documento, espera la respuesta y devuelve el Markdown como `str`. Detecta el formato de entrada por la extensión del archivo a menos que pase `input_format`.

## Convertir de URL

```python theme={null}
markdown = client.convert_from_url(
    "https://bucket.example.com/report.pdf?sig=...",
    mode="fast",
)
```

## Cliente asincrónico

```python theme={null}
import asyncio
import markpdf

async def main():
    async with markpdf.AsyncClient(api_key="YOUR_API_KEY") as client:
        markdown = await client.convert_file("report.pdf", mode="fast")
        print(markdown)

asyncio.run(main())
```

<Tip>
  Utilice `AsyncClient` si ya está ejecutando un bucle de eventos (FastAPI, aiohttp, etc.) para no bloquear el hilo mientras espera la respuesta.
</Tip>

## Solicitar metadatos además de Markdown

```python theme={null}
result = client.convert_file("report.pdf", response_format="json")

print(result.markdown)
print(result.timings.total_request_ms)
print(result.token_saved_estimate)
```

Con `response_format="json"`, SDK devuelve un objeto `ConversionResult` escrito en lugar de un `str`. Consulte [Referencia](/docs/public/es/sdks/python/reference) para todos los campos.

## Siguiente paso

* [Referencia completa del cliente](/docs/public/es/sdks/python/reference)
* [Streaming y trabajos asincrónicos (202)](/docs/public/es/sdks/python/streaming-and-async)
* [Manejo de errores](/docs/public/es/sdks/python/error-handling)
