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

# Referencia

> Ayudantes exportados por @markpdf/nextjs.

\#Referencia

## `createConvertRouteHandler(config)`

```ts theme={null}
import { createConvertRouteHandler } from "@markpdf/nextjs";

export const { POST } = createConvertRouteHandler({
  apiKey: string,
  baseUrl?: string,
  defaultOptions?: ConvertOptions,
  maxUploadBytes?: number,
  allowQueryOverrides?: boolean, // default true — perlimit ?mode=quality en la URL del handler
});
```

Devuelve `{ POST }`, listo para reexportar desde `route.ts`. El controlador acepta `multipart/form-data` con un campo `file` (configurable, consulte `fileField` a continuación) y devuelve la respuesta API tal como está.

## `convertFormData(formData, options)`

```ts theme={null}
import { convertFormData } from "@markpdf/nextjs";

const markdown = await convertFormData(formData, {
  apiKey: string,
  fileField?: string,       // default "file"
});
```

Extrae el archivo de `FormData` (normalmente recibido como argumento para una acción del servidor) y llama a `convertFile` del SDK subyacente. Diseñado para ser utilizado dentro de una función `"use server"`.

## `convertUrlAction(url, options)`

```ts theme={null}
import { convertUrlAction } from "@markpdf/nextjs";

const markdown = await convertUrlAction(url, {
  apiKey: string,
  ...ConvertOptions,
});
```

Envoltorio directo para `convertFromUrl` de SDK, destinado a acciones del servidor que reciben un URL prefirmado en lugar de un archivo.

## `getServerClient(config)`

```ts theme={null}
import { getServerClient } from "@markpdf/nextjs";

const client = getServerClient({ apiKey: process.env.MARKPDF_API_KEY! });
```

Devuelve una instancia almacenada en caché de `MarkpdfClient` (memorizada por `apiKey` + `baseUrl` dentro del mismo proceso) para cuando necesita acceso directo a todo el cliente; por ejemplo, para usar `pdfIndex`, `convertStream` o `getJob` dentro de un controlador de ruta personalizado o una acción de servidor.

```ts app/api/index/route.ts theme={null}
import { getServerClient } from "@markpdf/nextjs";
import { NextResponse } from "next/server";

export async function POST(req: Request) {
  const { url } = await req.json();
  const client = getServerClient({ apiKey: process.env.MARKPDF_API_KEY! });
  const spine = await client.pdfIndex(url);
  return NextResponse.json(spine);
}
```

## Tipos reexportados

`@markpdf/nextjs` reexporta los tipos `@markpdf/sdk` por lo que no necesita instalarlo por separado si solo usa los ayudantes de alto nivel:

```ts theme={null}
import type {
  ConvertOptions,
  ConversionResult,
  PdfSpine,
  JobStatus,
  MarkpdfError,
} from "@markpdf/nextjs";
```

Consulte la [Referencia de Node.js SDK](/docs/public/es/sdks/nodejs/reference) para obtener detalles campo por campo de cada tipo.
