---
seo_title: Guía Rápida de la API de Conversión de Archivos | EnConvert
meta_desc: Convierte tu primer archivo en 3 pasos: obtén una clave de API y llama a POST /v1/convert/url-to-pdf con cURL o Python. Incluye ejemplos en Node.js y JSON a XML.
keywords: guía rápida api de conversión de archivos, tutorial api convertir archivos, ejemplo curl url a pdf api, convertir url a pdf python, ejemplo api json a xml, clave api conversión de archivos, subir archivo api de conversión, convertir archivo api rest node.js
---

# Guía rápida de la API de conversión de archivos

Este tutorial de inicio rápido te guía a través de tu primera solicitud de conversión de archivos con la API de EnConvert, usando `/v1/convert/url-to-pdf` para capturar una página web como PDF. En tres pasos te registras, generas una clave de API privada y envías una solicitud con cURL, Python o JavaScript. Eso incluye un ejemplo de subida de archivo con `multipart/form-data` para JSON a XML. Las conversiones exitosas devuelven un `presigned_url` para descargar el archivo convertido, junto con metadatos de almacenamiento y tiempo.

## Primeros pasos en 3 etapas

1. **Regístrate.** Crea una cuenta en [enconvert.com](https://enconvert.com) para obtener tu clave de API.
2. **Obtén tu clave de API.** Ve al panel de control y genera una clave privada (`sk_...`). Cópiala y guárdala de forma segura.
3. **Realiza tu primera solicitud.** Usa los ejemplos siguientes para convertir un archivo o una URL.

## Ejemplo: convertir una URL a PDF

Usa el endpoint `/v1/convert/url-to-pdf` para capturar cualquier página web como un documento PDF.

### cURL

```bash
curl -X POST https://api.enconvert.com/v1/convert/url-to-pdf \
  -H "X-API-Key: YOUR_PRIVATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "direct_download": false}'
```

### Respuesta

Una conversión exitosa devuelve la URL de descarga, la ruta de almacenamiento y los metadatos:

```json
{
  "presigned_url": "https://econverter.nyc3.cdn.digitaloceanspaces.com/...",
  "object_key": "live/files/12345/url-to-pdf/example_20250202_120530123.pdf",
  "filename": "example_20250202_120530123.pdf",
  "file_size": 45678,
  "conversion_time_seconds": 3.21
}
```

- `presigned_url`: una URL temporal y descargable para el archivo convertido.
- `object_key`: la ruta de almacenamiento del archivo (p. ej., `live/files/12345/url-to-pdf/...`).
- `filename`: el nombre de archivo generado.
- `file_size`: el tamaño del archivo convertido en bytes.
- `conversion_time_seconds`: el tiempo que tardó la conversión.

## Ejemplo: convertir un archivo (JSON a XML)

Sube un archivo para su conversión usando `multipart/form-data`.

### cURL

```bash
curl -X POST https://api.enconvert.com/v1/convert/json-to-xml \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@data.json" \
  -F "direct_download=false"
```

### Respuesta

```json
{
  "presigned_url": "https://econverter.nyc3.cdn.digitaloceanspaces.com/...",
  "object_key": "live/files/12345/json-to-xml/data_20250202_120530123.xml",
  "filename": "data_20250202_120530123.xml",
  "file_size": 1024,
  "conversion_time_seconds": 0.45
}
```

## Ejemplo en Python

Usa la librería `requests` para convertir una URL a PDF:

```python
import requests

response = requests.post(
    "https://api.enconvert.com/v1/convert/url-to-pdf",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"url": "https://example.com"}
)

result = response.json()
pdf = requests.get(result["presigned_url"]).content

with open("output.pdf", "wb") as f:
    f.write(pdf)

```

## Ejemplo en JavaScript (Node.js)

Usa la API `fetch` incorporada (Node.js 18+) o cualquier cliente HTTP:


```javascript
const fs = require("fs");

const formData = new FormData();
formData.append("file", new Blob([fs.readFileSync("input.json")]), "input.json");
formData.append("direct_download", "true");

const response = await fetch("https://api.enconvert.com/v1/convert/json-to-xml", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY" },
  body: formData,
});

const buffer = Buffer.from(await response.arrayBuffer());
fs.writeFileSync("output.xml", buffer);
```

## Preguntas frecuentes

### ¿Cómo obtengo una clave de API para la API de conversión de archivos de EnConvert?

Crea una cuenta en [enconvert.com](https://enconvert.com), luego ve al panel de control y genera una clave privada (`sk_...`). Cópiala y guárdala de forma segura, porque la envías en cada solicitud dentro del encabezado `X-API-Key`.

### ¿Cómo convierto una URL a PDF con cURL?

Envía una solicitud `POST` a `https://api.enconvert.com/v1/convert/url-to-pdf` con tu clave en el encabezado `X-API-Key` y un cuerpo JSON como `{"url": "https://example.com", "direct_download": false}`. La respuesta es JSON; descarga el PDF desde la `presigned_url` que contiene. Si en su lugar pones `direct_download` en `true`, los bytes del PDF vuelven en el cuerpo de la respuesta y `--output output.pdf` guarda el archivo directamente.

### ¿Cómo subo un archivo para su conversión con la API REST?

Sube el archivo como `multipart/form-data`, p. ej. `-F "file=@data.json"` en cURL contra `/v1/convert/json-to-xml`. El ejemplo de Node.js hace lo mismo con `FormData` y la API `fetch` incorporada (Node.js 18+).

### ¿Qué contiene la respuesta de una conversión exitosa?

La respuesta JSON incluye `presigned_url` (una URL temporal y descargable para el archivo convertido), `object_key` (la ruta de almacenamiento), `filename`, `file_size` en bytes y `conversion_time_seconds`.

### ¿Puedo convertir una URL a PDF en Python?

Sí. Usa la librería `requests` para hacer `POST` a `https://api.enconvert.com/v1/convert/url-to-pdf` con el encabezado `X-API-Key` y un cuerpo JSON que contenga `url`, y luego lee `presigned_url` de la respuesta JSON y descarga el archivo.

## Próximos pasos

- [Autenticación](/es/docs/authentication.md) cubre las claves privadas, las claves públicas con JWT y cómo verificar las credenciales que acabas de crear.
- [Endpoints](/es/docs/endpoints.md) enumera todas las rutas que puedes llamar y los parámetros que comparten.
- [Trabajos síncronos y asíncronos](/es/docs/concepts/sync-and-async.md) explica cuándo una solicitud devuelve el resultado en línea y cuándo te entrega un trabajo que debes consultar.
