The Image CDN that actually works for developers
Set up in 60 seconds, scale forever. Run locally with Docker, serve globally with our CDN. Predictable pricing, no surprise bills.

Smart Uploads
24-hour auto-expiry prevents dangling images
Simple API
Upload, transform, and serve images with ease
Predictable Pricing
No pricing cliffs or confusing credit systems
Global CDN
Fast image delivery worldwide with edge caching
Local Development That Matches Production
Run identical infrastructure locally with our Docker image. No internet required, same API endpoints as production.
docker run -d \-p 5100:5100 \ghcr.io/icefiery-com/icefiery:latest✓ Container started successfully✓ Ready in 2.4s# Dashboard: http://localhost:5100# API: http://localhost:5100/api/v1# CDN: http://localhost:5100/res
Zero Internet Dependency
Develop completely offline. No external API calls required during development.
Production Parity
Identical API endpoints and behavior between local and production environments.
Team Consistency
Every team member runs the exact same infrastructure locally.
API That Just Works
Simple, predictable API that works with any framework. No complex SDKs to learn.
Smart Temporary Uploads
24-hour auto-expiry prevents dangling images from form abandonment. Perfect for handling user uploads in forms.
Flexible Metadata
Update image metadata anytime, unlike S3's immutable metadata. Store and update custom metadata with your images.
Built-in Transformations
Transform images on-the-fly with URL parameters. Automatic WebP conversion, smart resizing, and global CDN caching.
const uploadImage = async (file) => {const res = await fetch('https://api.icefiery.com/v1/upload-temporary-image/upl_07c1b6044f944e6f8c160',{headers: {'X-Original-Filename': file.name,},body: file,});const { imageUrl } = await res.json();return imageUrl;};// Display with auto-resizefunction ImagePreview({ imageId }) {const placeholderImage = 'img_12346798.png';return (<img src={`https://res.icefiery.com/${imageId || placeholderImage}?width=200&height=200&format=webp`} />);}
Pricing That Makes Sense
Start free, scale smoothly. Transparent monthly pricing with no surprise bills or confusing credit systems.
Select your image volume
Drag the slider to see pricing for different usage levels
- 500 images per month
- 2,500 transformations per month
- 40GB bandwidth per month
- Global CDN delivery
- On-the-fly image transformations
- Docker local development
Need even more? We offer custom pricing that scales linearly with your needs.
Contact us for custom pricingPerfect For Your Use Case
From social features to e-commerce, Icefiery handles your image needs
Start Building in Minutes
Three simple steps to get your image infrastructure running
Sign up free in 60 seconds
Create your account quickly. No credit card required for the free tier.
Upload an image from a web page
Use our simple API to upload images directly from your web application.
const uploadImage = async (file) => {const res = await fetch('https://api.icefiery.com/v1/upload-temporary-image/upl_07c1b6044f944e6f8c160',{headers: {'X-Original-Filename': file.name,},body: file,});const { imageUrl } = await res.json();return imageUrl;};
Save temporary uploads with your private API key after form submission:
const saveImage = async (imageId) => {const res = await fetch(`https://api.icefiery.com/v1/save-temporary-image/${imageId}`,{method: 'POST',headers: {'Authorization': 'Bearer YOUR_API_KEY',},});return res.json();};
Serve the image from our CDN with transformations
Apply transformations on-the-fly by adding parameters to the image URL.
function ImagePreview({ imageId }) {const placeholderImage = 'img_12346798.png';const url = `https://res.icefiery.com/${imageId || placeholderImage}?width=400&height=300&format=webp`;return (<img src={url} alt="Transformed image" />);}
Develop Locally with Docker
Get started with local development in two easy steps
Start our Docker container
Run a single command to start the Icefiery container on your local machine.
docker run -d -p 5100:5100 ghcr.io/icefiery-com/icefiery:latest
Start uploading to your local instance
Upload and transform images using your local endpoints at http://localhost:5102.
View Docker documentation