→ Images · Video · PDF · HTML conversion

Media processing API
built for scale.

One API. Four endpoints. Ship in minutes.

api.latticemedia.xyz
$ curl -X POST https://api.latticemedia.xyz/v1/process/image \ -H "Authorization: Bearer lm_sk_..." \ -F "file=@photo.jpg" \ -F "format=webp" \ -F "quality=85" # HTTP 200 OK { "status": "complete", "file_id": "f_01HXYZ...", "url": "https://cdn.latticemedia.xyz/abc123.../photo.webp", "format": "webp", "size_bytes": 48291, "processing_ms": 87 }
<100ms avg processing time
4 media types supported
100MB max file size

One API. Four pipelines.

image_processing

Image Optimization

Resize, compress, and convert images to modern formats. Strip EXIF metadata, adjust quality, and target specific dimensions — all in one request.

WebP AVIF JPEG PNG
video_transcode

Video Transcoding

Transcode to web-optimized formats for streaming and embedding. VP9, H.264, H.265, and AV1 output with configurable bitrate and resolution.

WebM MP4 AV1
pdf_compress

PDF Compression

Compress PDFs with four quality presets. Ghostscript-powered pipeline delivers up to 90% size reduction while preserving document fidelity.

Screen Ebook Printer Prepress
html_convert

HTML Conversion

Capture any URL or raw HTML as a PDF, DOCX, or full-page PNG screenshot. Perfect for invoice generation, reports, and content archiving.

PDF DOCX PNG

Drop in, ship fast.

Four endpoints. Consistent request format. Predictable JSON responses. Works with any HTTP client in any language.

shell
# Process an image $ curl -X POST https://api.latticemedia.xyz/v1/process/image \ -H "Authorization: Bearer lm_sk_your_key" \ -F "file=@image.jpg" -F "format=webp" -F "quality=85" # Transcode video $ curl -X POST https://api.latticemedia.xyz/v1/process/video \ -H "Authorization: Bearer lm_sk_your_key" \ -F "file=@video.mp4" -F "format=webm" # Compress PDF $ curl -X POST https://api.latticemedia.xyz/v1/process/pdf \ -H "Authorization: Bearer lm_sk_your_key" \ -F "file=@document.pdf" -F "quality=ebook" # Convert HTML to PDF $ curl -X POST https://api.latticemedia.xyz/v1/convert/html \ -H "Authorization: Bearer lm_sk_your_key" \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com","output":"pdf"}'

Everything you need. Nothing you don't.

🔑

API Key Management

Create, rotate, and revoke keys from the dashboard. Scope keys by endpoint or rate limit per key.

📖

Interactive Docs

Try every endpoint live at /docs. Real requests, real responses, right in the browser.

Rate Limiting

Per-tier limits with clear 429 responses and Retry-After headers.

🔒

Presigned URLs

Secure time-limited CDN links for private files. Configure expiry per request or globally.

💳

Stripe Billing

Usage-based billing with proration. Upgrade or downgrade your plan instantly from the portal.

🗂️

File Management

List, download, and delete processed files via API. Full programmatic control over your storage.

🔔

Webhooks

Get notified on processing completion events. Signed payloads with HMAC verification.

📤

File Delivery

Push processed files to any S3 bucket or SFTP server automatically after processing completes.

Drop into your existing stack.

v1.2.0 · WordPress

WordPress Plugin

Auto-optimize images on upload. Integrates with the WordPress Media Library — no code changes needed. Set format, quality, and max dimensions globally or per post type.

Download plugin →
v1.0.0 · Drupal

Drupal Module

Native media field integration for Drupal 9 and 10. Configure Lattice as a media source with per-bundle processing rules and automatic CDN rewriting.

Download module →
Built-in

File Delivery

Push processed files to any S3-compatible bucket or SFTP server automatically. Configure delivery targets per API key for fully automated pipelines.

View docs →

Simple, transparent pricing.

Billed in AUD. No hidden fees.

Developer (Free)
Free
  • 100 req/min rate limit
  • Unlimited requests/month
  • 104 MB storage
  • Image processing
  • Video transcoding
  • PDF compression
  • HTML conversion
Get started free
Enterprise
Custom
  • Unlimited requests
  • Custom storage
  • All media types
  • Dedicated support
  • 99.99% SLA
  • On-premises option
Contact us →

Common questions.

How are files stored?
Files are stored in isolated per-account S3 buckets on MinIO. Access is via presigned URLs with configurable expiry. You can delete files via API at any time — no data is retained beyond your explicit storage.
What formats are supported?
Image input: JPEG, PNG, WebP, AVIF, HEIC, GIF.
Video: MP4, MOV, AVI, MKV, WebM.
PDF: Any valid PDF file.
HTML: Any public URL or raw HTML string.
How does rate limiting work?
Each API key has a per-minute and per-month request cap based on your plan. Exceeded limits return 429 Too Many Requests with a Retry-After header indicating when you can retry.
Can I upgrade or downgrade my plan?
Yes. Plan changes take effect immediately from the billing portal. Stripe handles proration automatically — you'll only pay for what you use.
Is there an SLA?
Paid plans include a 99.9% uptime SLA. Enterprise plans include 99.99% uptime with dedicated infrastructure and a named support contact.
$ ready_to_ship

Start processing media today.

Free tier available. No credit card required.