Deterministic image generation from JSON templates
Same input, same output — every time. No AI randomness. Define a canvas, stack layers — solid colors, text, images, gradients, QR codes, barcodes — and get a pixel-perfect image back.
No credit card required — start with free trial credits
What's included
Templates As Code
Define images as JSON layers — solid colors, text, shapes, gradients, QR codes, and barcodes. Version in Git, generate from CI, and get identical output every time.
AI-Powered Layers
Remove backgrounds and smart-crop to faces or objects directly in your composition. No separate API calls or post-processing.
Zero-Config Typography
98 bundled Google Fonts ready to use, or upload your own TTF, OTF, WOFF, or WOFF2. Markdown bold/italic, auto-scaling, and line wrapping included.
MCP (Model Context Protocol)
Connect directly to AI agents. Use our APIs as tools in Claude, GPT, and other LLM-powered workflows.
Zapier
Connect to 5,000+ apps with Zapier integration.
n8n
Build automated workflows with n8n integration.
How it works
Define your canvas
Set dimensions and output format. Add layers in order — each composites on top of the previous.
- 8 layer types: solid color, rectangle, gradient, text, image, overlay, QR code, barcode
- Per-layer opacity and rotation control
Add content to layers
Text with 98 bundled fonts and markdown. Images with AI background removal and smart crop. QR codes and barcodes with custom colors.
- Auto-scaling text to fit dimensions
- Custom fonts via base64 (TTF, OTF, WOFF, WOFF2)
- 6 barcode formats (Code 128, EAN-13, EAN-8, Code 39, ITF, Codabar)
Get your image
Receive composited image as base64 JSON, or use a webhook for async delivery.
- 6 output formats: PNG, JPEG, WebP, TIFF, GIF, AVIF
- Deterministic — same input always produces the same image
Quick Start
One API call, one credit deducted. Chains naturally with our other APIs — pipe the output of one into the next without glue code. You'll be up and running in minutes.
- Full OpenAPI 3.1 specification available for code generation and IDE integration.
- MCP server support for seamless integration with AI agents and tools.
- Comprehensive documentation with examples for every field type and edge case.
curl -X POST https://api.iterationlayer.com/image-generation/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dimensions": {"width_in_px": 1200, "height_in_px": 630},
"output_format": "png",
"layers": [
{"index": 0, "type": "solid-color-background", "hex_color": "#1e293b"},
{"index": 1, "type": "text", "text": "Weekly Report", "font_name": "Inter",
"font_size_in_px": 48, "text_color": "#ffffff",
"position": {"x_in_px": 60, "y_in_px": 60},
"dimensions": {"width_in_px": 600, "height_in_px": 100}}
]
}'
import { IterationLayer } from "iterationlayer";
const client = new IterationLayer({ apiKey: "YOUR_API_KEY" });
const result = await client.generateImage({
dimensions: { width_in_px: 1200, height_in_px: 630 },
output_format: "png",
layers: [
{ index: 0, type: "solid-color-background", hex_color: "#1e293b" },
{ index: 1, type: "text", text: "Weekly Report", font_name: "Inter",
font_size_in_px: 48, text_color: "#ffffff",
position: { x_in_px: 60, y_in_px: 60 },
dimensions: { width_in_px: 600, height_in_px: 100 } },
],
});
from iterationlayer import IterationLayer
client = IterationLayer(api_key="YOUR_API_KEY")
result = client.generate_image(
dimensions={"width_in_px": 1200, "height_in_px": 630},
output_format="png",
layers=[
{"index": 0, "type": "solid-color-background", "hex_color": "#1e293b"},
{"index": 1, "type": "text", "text": "Weekly Report", "font_name": "Inter",
"font_size_in_px": 48, "text_color": "#ffffff",
"position": {"x_in_px": 60, "y_in_px": 60},
"dimensions": {"width_in_px": 600, "height_in_px": 100}},
],
)
import il "github.com/iterationlayer/sdk-go"
client := il.NewClient("YOUR_API_KEY")
result, err := client.GenerateImage(il.GenerateImageRequest{
Dimensions: il.Dimensions{WidthInPx: 1200, HeightInPx: 630},
OutputFormat: "png",
Layers: []il.Layer{
il.NewSolidColorBackgroundLayer(0, "#1e293b"),
il.NewTextLayer(1, "Weekly Report", "Inter", 48, "#ffffff",
il.Position{XInPx: 60, YInPx: 60},
il.Dimensions{WidthInPx: 600, HeightInPx: 100}),
},
})
See it in action
Ready-to-use workflows for the most common data processing tasks.
Batch Watermark Images
Apply text watermarks to batches of photos using layer-based image composition for brand protection and copyright.
Build Dynamic Email Banners
Generate personalized email banner images with dynamic text, logos, and brand colors.
Create Certificate Images
Generate professional certificate images with recipient names, course titles, and completion dates.
Create Listing Images
Generate product listing images with photos, price badges, and promotional text overlays.
Generate Book Covers
Generate book cover images with custom artwork, title text, and author attribution.
Generate Social Cards
Generate Open Graph social sharing cards with dynamic titles, descriptions, and branding.
Produce Report Charts
Generate chart images with labeled bars, values, and axis labels for reports and dashboards.
Privacy by default
We built Iteration Layer with privacy by design. Your data is processed in the EU and never stored beyond temporary logs. Learn more about our security practices .
No data storage
We don't store your files or processing results. Logs are automatically deleted after 30 days.
EU-hosted infrastructure
All processing runs on servers located in the European Union. Your data never leaves the EU.
GDPR-compliant by design
Full compliance with EU data protection regulations. Data Processing Agreement available for all customers.
Pricing
Start with free trial credits. No credit card required.
Developer
For individuals & small projects
-
1,000 credits / month1,000 image transformations 500 document generations 500 image generations 100 document extractions
-
All APIs included
-
Free trial credits per API
-
Email support
-
Budget caps per key
Startup
Save 40%For growing teams
-
5,000 credits / month5,000 image transformations 2,500 document generations 2,500 image generations 500 document extractions
-
All APIs included
-
Free trial credits per API
-
Priority support
-
Budget caps per key
Business
Save 47%For high-volume workloads
-
15,000 credits / month15,000 image transformations 7,500 document generations 7,500 image generations 1,500 document extractions
-
All APIs included
-
Free trial credits per API
-
Priority support
-
Budget caps per key
Frequently asked questions
What layer types are available?
The API supports 8 layer types: solid color background, rectangle (with optional angled edges), gradient (linear and radial), text (with markdown bold/italic), static image (with optional AI background removal), full-canvas image overlay, QR code, and barcode.
How do fonts work?
98 Google Fonts are bundled and ready to use by name — Inter, Roboto, Montserrat, Poppins, and more. You can also upload custom fonts as base64 in TTF, OTF, WOFF, or WOFF2 format.
What output formats are supported?
The API outputs PNG, JPEG, WebP, TIFF, GIF, and AVIF. Specify the format in the output_format field.
Can I remove image backgrounds?
Yes. Static image layers support AI-powered background removal. Enable it on the layer and the background is removed before compositing.
What barcode formats are supported?
The API supports 6 barcode formats: Code 128, EAN-13, EAN-8, Code 39, ITF, and Codabar.
Is the output deterministic?
Yes. The same input always produces the same output image. This makes it safe to use in CI pipelines and automated workflows.