Image Delivery API
Pixault serves transformed images through a URL-based API. Every transformation is encoded directly in the URL path, making images fully cacheable at the CDN edge.
URL Pattern
Segment | Description |
|---|---|
| Your project identifier (e.g., |
| The image ID returned from upload (e.g., |
| Comma-separated key-value pairs (e.g., |
| Output format as file extension: |
Transformation Parameters
Parameter | Values | Default | Description |
|---|---|---|---|
| 1–4096 | Original | Width in pixels |
| 1–4096 | Original | Height in pixels |
|
|
| Resize mode |
| 1–100 | 80 | Output quality |
| 1–100 | — | Gaussian blur radius |
| watermark ID | — | Watermark overlay |
|
|
| Watermark position |
| 1–100 | 30 | Watermark opacity percentage |
| transform name | — | Apply a named transform preset |
Fit Modes
Mode | Behavior |
|---|---|
| Resize to fill the target dimensions, cropping excess. No whitespace. |
| Resize to fit within the target dimensions. May have letterboxing. |
| Stretch to exactly fill the target dimensions. May distort. |
| Fit within the target dimensions and pad remaining area with background. |
Examples
Basic Resize
Quality Control
Low-Quality Image Placeholder (LQIP)
Generate tiny blurred placeholders for progressive image loading:
Use this as a background-image while the full image loads.
Watermarking
Named Transforms
Apply preconfigured transform presets:
See Named Transforms for creating presets.
Plugin Transforms
If you have marketplace plugins activated, invoke them by adding the plugin prefix to the transformation parameters:
See Plugin Marketplace API for the full list of available plugins and their parameters.
Signed URLs
For original file downloads, Pixault supports HMAC-SHA256 signed URLs:
Parameter | Description |
|---|---|
| HMAC-SHA256 signature |
| Unix timestamp expiration |
The signature is computed over {project}/{imageId}/original.{format}?exp={timestamp} using your account's HMAC secret.
Response Headers
Header | Value | Description |
|---|---|---|
|
| 30-day CDN caching |
|
| Output format MIME type |
|
| Whether the variant was cached |
|
| Content hash for conditional requests |
Format Negotiation
If the Accept header includes image/webp or image/avif, Pixault will automatically select the most efficient format when the URL extension is omitted. Explicit format extensions always take precedence.
Rate Limits
Delivery endpoints use per-project sliding window rate limiting:
Limit | Value |
|---|---|
Requests per minute | 1,000 per project |
Queue depth | 50 |
Exceeding the limit returns 429 Too Many Requests with a Retry-After header.
Error Responses
All errors follow RFC 7807 ProblemDetails format: