Programmable Media Runtime
Define processing pipelines visually — resize, encode, encrypt, run AI — and every variant auto-regenerates when the pipeline changes. GraphQL-native. EU-hosted.
AES-256
EU-hosted
GraphQL
2 GB free
live
product.jpg
4.8 MB · input
resize
400×400 · cover
thumb
.webp · 8 KB
encode
webp · q:80
index
.avif · 89 KB
encrypt
AES-256-GCM
original
.enc · 4.8 MB
pipeline changes → all variants regenerate
Hosted
EU-hosted (US coming soon)
Encryption
AES-256-GCM
API
GraphQL + REST
Storage
BYOS supported
Compliance
GDPR · DPA
Sound familiar?
Every media-heavy product hits the same walls. Resize logic, vendor lock-in, compliance gaps. The infrastructure work that has nothing to do with your product.
Writing resize logic again?
Every project: S3 bucket, Lambda function, Sharp config, CloudFront invalidation. You've built this pipeline five times. It breaks the same way every time.
↳ SaaS & startup teams
Cloudinary bill scaling faster than revenue?
10K SKUs × 5 variants × 3 formats. The transform count explodes. You pay per operation, not per outcome. And you can't bring your own storage.
↳ E-commerce & agencies
EU compliance requires data sovereignty?
Your users are in Germany. Your images live in us-east-1. Your DPA says "EU-only processing." Cloudinary doesn't offer that. You're stuck.
↳ EU enterprise & regulated
What if the pipeline was the product, not the problem?
How it works
From raw file to optimized, encrypted, edge-cached variants — automatically. Change your pipeline and every variant regenerates.
01
Create a namespace
An isolated space for one project or content type. Own encryption keys, own pipelines, own storage config.
namespace: "my-shop" → EU region, AES-256
02
Build a workflow
Drag nodes into a processing graph. Resize, encode, watermark, run AI detection — each node is a step. Connect them.
input → resize → encode_webp → encrypt → output
03
Upload via API
GraphQL mutation, REST endpoint, or SDK. Upload any media type — photo, video, audio, file. One call. Resumable.
mutation { uploadPhoto(file: $f, ns: "my-shop") }
04
Variants auto-delivered
Every file flows through your pipeline. Thumb, index, original — generated and cached at edge. Pipeline changes? All variants auto-regenerate.
thumb.webp 4KB · index.avif 89KB · original.enc 2.4MB
product-hero.jpg
4.2 MB
4096 × 2730
JPEG
Input
Resize
400px · cover
Encode
WebP · q72
Encrypt
AES-256-GCM
AI
bg-remove
optional
Variants
thumb.webp
320×320 · 4 KB · CDN-cached
index.avif
1280px · 89 KB · CDN-cached
original.enc
4.2 MB · AES-256 · vault
input received
2 transforms
encrypted
3 variants ready
pipeline active
Content types
Photos, videos, audio, documents — each flows through its own processing graph and produces typed variants automatically.
Input
product-hero.jpg
JPEG · 4.8 MB
Pipeline
resize 2048×auto
encode webp q:85
resize 400×400
encode webp q:72
encrypt AES-256
Output variants (3)
index
2048×1365 · lossy
.webp
142 KB
thumb
400×400 · cover crop
.webp
8.4 KB
original
AES-256-GCM · per-file DEK
.enc
4.8 MB
Variants
3
Pipeline nodes
5
Encrypted
1
Total output
3 files
Why Partikl
Not incremental improvements. Fundamentally different architecture for media processing. Built for developers who need control, not a black box.
Visual pipeline builder
Drag-and-drop node graph for media processing. Connect resize, encode, encrypt, AI nodes into any topology. See the flow, debug visually, export as JSON.
Cloudinary: URL params. Imgix: query string. No visual graph anywhere.
Per-namespace encryption
AES-256-GCM or ChaCha20-Poly1305. Each namespace has its own key hierarchy. Keys in isolated Vault. We never see your plaintext. Ever.
Cloudinary: no encryption. Imgix: no encryption. Bunny: no encryption.
Auto-regenerate variants
Change a node parameter — quality, format, dimensions — and all existing variants for all files in that pipeline automatically regenerate. No manual reprocessing.
Everywhere else: re-upload or write a migration script.
AI addon marketplace
NSFW detection, similarity search, upscale, background removal, watermarking, object detection — plug into any pipeline as a node. Pay per use. First N free.
Cloudinary: limited built-in AI. Imgix: none. No marketplace model.
GraphQL-native + subscriptions
Not a REST wrapper. Native GraphQL with mutations, queries, and real-time subscriptions. Know when your upload is processed, when variants are ready, when a pipeline errors.
Everyone else: REST + webhooks. No real-time. No subscriptions.
BYOS — Bring Your Own Storage
Connect your S3, R2, or any S3-compatible bucket. We process and encrypt, you store. Your domain, your infrastructure, your data sovereignty.
Cloudinary: their storage only. Imgix: origin pull only. No BYOS.
Developer experience
One API call. Upload any media, get processed variants back. GraphQL-native with SDKs for every major platform.
GraphQL — Request
mutation UploadPhoto($file: Upload!) {
uploadPhoto(
file: $file
namespaceId: "ns_my-shop"
) {
id
filename
size
variants {
kind # thumb | index | original
url
format
size
encrypted
}
}
}Response
{
"data": {
"uploadPhoto": {
"id": "ph_8xk2m",
"filename": "product-shot.jpg",
"size": 2457600,
"variants": [
{ "kind": "thumb", "url": "…/thumb.webp", "format": "webp", "size": 4200, "encrypted": false },
{ "kind": "index", "url": "…/index.avif", "format": "avif", "size": 89000, "encrypted": false },
{ "kind": "original", "url": "…/original.enc", "format": "enc", "size": 2457600, "encrypted": true }
]
}
}
}AI Addon Marketplace
Each addon is a node. Drop it into your workflow graph, configure once — runs automatically on every matching file. No ML infrastructure. No API juggling.
Included by default — always free
Core transforms in every plan. No extra charges, no limits.
Resize & Crop
URL params · CDN-cached · Free
Compress & Format
Auto WebP · AVIF · No limits · Free
Deduplication
Hash-based · On-upload · Free
AI addons — pay per use
First 20 free
Background Removal
On-upload
Batch
API
Remove or replace image backgrounds with precision. Output clean PNG or composite onto any color. Batch-ready.
$0.05 / image
First 50 free
Alt Text Generator
On-upload
SEO
30+ langs
SEO-ready descriptions auto-generated in 30+ languages. Stored in variant metadata on every upload.
$0.02 / image
First 10 free
Object Detection
API
Batch
Realtime
Bounding boxes + class labels via YOLO. Returns structured JSON in variant metadata. Tag, filter, search.
$0.05 / image
First 100 free
Similarity Search
Search
Dedup
API
Find duplicates and near-duplicate images. Embeddings stored per-file. Query via API or dedup on upload.
$1 / 1K checks
First 50 free
Auto-Moderate
Safety
On-upload
API
Detect NSFW and risky content before it goes live. Configurable thresholds. Blocks or flags automatically.
$2 / 1K images
First 5 free
Upscale / Denoise
Batch
API
On-demand
2×/4× AI upscaling with noise removal. Crystal-clear results from low-res source material.
$0.10 / image
All addons are pipeline nodes — combine any way you want. Background removal → alt text → similarity index, all in one upload.
Built for your context
SaaS Builders
Stop writing the same pipeline twice.
✗ S3 + Lambda + Sharp + CloudFront. Every. Single. Project.
✓ One API call. Typed variants back. Done.
< 5 min to first variant
GraphQL + subscriptions
SDK: Node.js, Python, Go
Free tier · 2 GB included
E-commerce Teams
10K SKUs. 5 sizes. Zero manual work.
✗ Every product upload needs 5 variants × 3 formats = 15 transforms. Manually.
✓ Define once, auto-generate on every upload.
~93% bandwidth reduction
Auto WebP/AVIF conversion
Background removal addon
Shopify / WooCommerce ready
EU Enterprise
Your data never leaves the region you set.
✗ Cloudinary = US servers. Your DPA says EU-only. You're stuck.
✓ Storage, processing, cache — all in EU. GDPR DPA included.
AES-256 · GDPR DPA
Per-namespace encryption
BYOS — your S3 bucket
Self-hosted (roadmap)
Pricing
Start free. Pay as you grow. No surprise bills.
Free
$0
forever
2 GB · 5K transforms
included · overage billed
Start building. No credit card.
3 workflows
2 namespaces
GraphQL API
Documentation
BEST VALUE
Starter
$9
/month
15 GB · 50K transforms
included · overage billed
For indie developer or side-project
25 workflows
10 namespaces
AES-256 encryption
BYO Domain supported
Email support
FOR TEAMS
Pro
$29
/month
50 GB · 100K transforms
included · overage billed
For teams shipping fast.
Unlimited workflows
50 namespaces
Addon Custom API
BYO Storage supported
Email support
Team
$79
/month
400 GB · 1M transforms
included · overage billed
For scaling products.
Unlimited workflows
Unlimited namespaces
Priority processing queue
Team members: up to 10
Priority support
Need unlimited transforms, custom keys, BYOS, or self-hosted?
Ready to ship
Create a namespace. Drop in a pipeline. Upload your first file. Get encrypted, edge-cached variants back. No infrastructure meetings.
2 GB free
AES-256 encrypted
EU-hosted
No credit card