Compresión de subida
POST /convert/raw acepta el cuerpo comprimido. Reduces bytes en red y aceleras subidas grandes. Indica el algoritmo con el header content-encoding.
Solo
/convert/raw soporta content-encoding. /convert (multipart) y /convert/from-url no.gzip
zstd
Recomendaciones
- Para uploads grandes,
zstdsuele dar el mejor equilibrio ratio/CPU. - Evita Brotli: ahorra bytes pero consume mucha más CPU.
- El header
X-Wire-Byteste dice cuántos bytes llegaron por red tras comprimir;X-Input-Bytes, el tamaño real descomprimido.
Compresión de SALIDA (output_encoding)
Cuando usas output_url en /convert/from-url, el Markdown convertido se sube comprimido a tu storage. El parámetro output_encoding controla el algoritmo:
Cuando hay
output_url, la API auto-promueve a zstd si no especificas otro. Razón: en el caso BYOS no hay browsers ni CDNs en el camino; cliente y servidor son backends que descomprimen zstd nativo. zstd resulta en ~30% menos bytes que gzip a CPU similar y descompresión en streaming en el cliente.
Sobreescribir es trivial:
El límite de raw mide bytes descomprimidos
El límite de upload crudo (RAW_UPLOAD_MAX_BYTES, 12 MB por defecto) se aplica sobre el tamaño descomprimido, no sobre los bytes que viajan por la red. Comprimir no te deja subir un PDF más grande por /convert/raw: un cuerpo gzip/zstd que descomprime por encima de 12 MB se rechaza con 413. La compresión solo ahorra red y tiempo de subida.
Para PDFs grandes, súbelos a tu storage y usa /convert/from-url, que no aplica este límite. Ver Límites y Raw vs storage URL.