ImageRift
Pro and Business

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.