Developer API for image generation jobs
Create API keys from Account, submit an image generation job, then poll the job endpoint until the output is ready. Successful API generation jobs use the same private storage, quotas, and plan permissions as the web app.
Bulk product variations
Generate 5 styled variations from one product photo for ads, PDP, and social without re-shooting.
Avatar batch
Turn user-uploaded selfies into anime, soft 3D cartoon, or oil-paint avatars on signup.
Editorial enhance
Sharpen and reframe your CMS images on publish with the same source and cleaner output.
Quick call
curl -X POST https://www.imagerift.com/api/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "style",
"imageBase64": "...",
"prompt": "cinematic product photo on a clean studio background",
"exportSize": "base",
"outputAspect": "source"
}'API keys
Create and revoke API keys from Account. The full token is shown only once.
Rate limits
Pro: 30/min. Business: 120/min.
Same quota rules
Successful API generations count against Account quota. Business workspace keys use shared team quota; status polling only counts toward API rate limits.
Private output
Completed API jobs return a short-lived download URL instead of exposing user R2 objects.
1. Create a generation job
Send a source image as `imageBase64`, or reuse a previously stored `imageKey` or `sourceGenerationId` from your account. The response is asynchronous.
curl -X POST https://www.imagerift.com/api/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "style",
"imageBase64": "...",
"prompt": "cinematic product photo on a clean studio background",
"exportSize": "base",
"outputAspect": "source"
}'2. Read the queued job response
Store the returned `jobId`. The quota object shows the reserved quota scope. Your app should poll the status URL until the job is `succeeded`, `failed`, or `canceled`.
{
"jobId": "9c2d1e1a-4b6e-4a7d-8d0a-2d5a0e7f0c11",
"status": "queued",
"statusUrl": "/api/v1/jobs/9c2d1e1a-4b6e-4a7d-8d0a-2d5a0e7f0c11",
"requestId": "req_...",
"quota": {
"source": "plan",
"scope": "team",
"remaining": 2991,
"charged": false,
"remainingAfterQueue": 2991,
"chargedOnSuccess": true
},
"rateLimit": {
"remainingThisMinute": 29
}
}3. Poll job status
When the job succeeds, the status endpoint includes a temporary `downloadUrl` for the generated image.
curl -X GET https://www.imagerift.com/api/v1/jobs/JOB_ID \
-H "Authorization: Bearer YOUR_API_KEY"4. Plan behavior
- Pro supports API access, priority queue, and 2K export permissions.
- Business supports higher API limits, team workspace, and 4K-class export permissions.
- Free and Starter users can view this page, but API key creation is locked in Account.
- Failed jobs do not consume generation quota. Polling a job consumes API rate limit only.