\usepackage{curl}

API REST de FormaTeX con curl

Compile LaTeX a PDF desde el terminal con un solo comando curl. Sin SDK ni dependencias: solo la API REST y su clave de API.

Also available in:Python·Node.js·Go·PHP·Ruby·Rust·cURL|Full API reference

\section{Compilación básica}

Compilación básica

Envíe una solicitud POST a /api/v1/compile con su código fuente LaTeX. El cuerpo de la respuesta es el PDF binario sin procesar: guárdelo directamente con --output.

terminal
curl -X POST https://api.formatex.io/api/v1/compile \
  -H "X-API-Key: $FORMATEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "latex": "\\documentclass{article}\\begin{document}Hello World\\end{document}",
    "engine": "pdflatex"
  }' \
  --output output.pdf

\section{Selección de motor}

Selección de motor

Defina el campo engine para cambiar de compilador. Use xelatex para Unicode y fuentes del sistema, o lualatex para scripting con Lua. Consulte la documentación de motores para ver la comparación completa.

terminal
# pdfLaTeX (fastest)
curl -X POST https://api.formatex.io/api/v1/compile \
  -H "X-API-Key: $FORMATEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latex": "...", "engine": "pdflatex"}' \
  --output pdflatex.pdf

# XeLaTeX (Unicode + system fonts)
curl -X POST https://api.formatex.io/api/v1/compile \
  -H "X-API-Key: $FORMATEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latex": "...", "engine": "xelatex"}' \
  --output xelatex.pdf

\section{Desde un archivo .tex}

Compilar desde un archivo .tex

Use jq para escapar de forma segura el contenido del archivo en una cadena JSON antes de pasarlo a curl. Así se gestionan correctamente los saltos de línea y los caracteres especiales.

terminal
# Read from file using shell substitution
curl -X POST https://api.formatex.io/api/v1/compile \
  -H "X-API-Key: $FORMATEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"latex\": $(cat main.tex | jq -Rs .), \"engine\": \"pdflatex\"}" \
  --output output.pdf

# Or use jq to build the JSON properly
jq -n --rawfile src main.tex '{"latex": $src, "engine": "pdflatex"}' | \
  curl -X POST https://api.formatex.io/api/v1/compile \
    -H "X-API-Key: $FORMATEX_API_KEY" \
    -H "Content-Type: application/json" \
    -d @- \
    --output output.pdf

\section{Encabezados de respuesta}

Consulte los encabezados de respuesta

Use --dump-header para capturar los encabezados de respuesta. La API devuelve X-Compile-Duration-Ms y X-Engine en cada compilación correcta.

terminal
curl -X POST https://api.formatex.io/api/v1/compile \
  -H "X-API-Key: $FORMATEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latex": "...", "engine": "pdflatex"}' \
  --output output.pdf \
  --dump-header headers.txt

# X-Compile-Duration-Ms: 94
# X-Engine: pdflatex
# Content-Type: application/pdf
cat headers.txt

\section{Endpoints}

Endpoints de la API

MétodoEndpointDescripción
POST/api/v1/compileCompila LaTeX de forma síncrona. Devuelve los bytes del PDF sin procesar.
POST/api/v1/compile/asyncEnvía un trabajo de compilación. Devuelve un ID de trabajo para consultar.

Códigos de respuesta: 200: PDF binario, 401: clave de API no válida o ausente, 422: error de compilación de LaTeX (cuerpo JSON con el campo error).

\section{Authentication}

Autenticación

Todas las solicitudes requieren un encabezado X-API-Key. Exporte su clave como variable de entorno para poder usarla en cada comando.

export FORMATEX_API_KEY =your-api-key
  • → Genere claves de API desde su panel después de registrarse.
  • → Las claves se muestran una sola vez al crearlas: guarde la suya de inmediato.
  • → Añada la línea export a su ~/.bashrc o ~/.zshrc para conservarla entre sesiones.

\end{curl}

Empiece a compilar LaTeX con curl

Obtenga su clave de API, ejecute el comando de inicio rápido y tenga un PDF en menos de un segundo, directamente desde su terminal.