Developer API

Build with UnveilArt

Integrate AI image, video, and motion generation into your app. Simple REST API, one API key, all models.

Quick Start

1

Create an API Key

Go to Dashboard → API Keys and create a key. Copy it — it's only shown once.

2

Authenticate

Send your key in the Authorization header:

Authorization: Bearer uva_sk_your_key_here
3

Generate

POST to /api/generations, then poll /api/generations/:id until status is COMPLETED.

Code Examples

curl
# Create a generation
curl -X POST https://api.unveilart.ai/api/generations \
  -H "Authorization: Bearer uva_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "modelId": "your-model-id",
    "prompt": "A majestic dragon over a neon city"
  }'

# Check status (replace GEN_ID)
curl https://api.unveilart.ai/api/generations/GEN_ID \
  -H "Authorization: Bearer uva_sk_your_key_here"

# Get your credit balance
curl https://api.unveilart.ai/api/credits/balance \
  -H "Authorization: Bearer uva_sk_your_key_here"

API Reference

POST/generations Auth required

Generate an image, video, or motion transfer.

Request body:

{
  "modelId": "model-uuid",
  "prompt": "A cyberpunk cityscape at sunset",
  "numImages": 1,
  "params": { "aspect_ratio": "16:9" },
  "isPublic": false
}

Response:

{
  "id": "gen-uuid",
  "type": "IMAGE",
  "status": "PENDING",
  "creditCost": 2,
  "createdAt": "2026-03-25T..."
}
GET/generations/:id Auth required

Poll for status. When status is COMPLETED, resultUrl contains the output.

Response:

{
  "id": "gen-uuid",
  "status": "COMPLETED",
  "resultUrl": "https://assets.unveilart.ai/...",
  "thumbnailUrl": "https://assets.unveilart.ai/...",
  "duration": 8,
  "creditCost": 2
}
GET/generations/models?type=IMAGE

Get available AI models. Filter by type: IMAGE, VIDEO, MOTION.

Response:

[
  {
    "id": "model-uuid",
    "name": "FLUX.1 [pro]",
    "slug": "flux-pro",
    "type": "IMAGE",
    "creditCost": 5,
    "tier": "PREMIUM"
  }
]
GET/credits/balance Auth required

Get your current credit balance.

Response:

{
  "balance": 450,
  "purchasedCredits": 400,
  "subscriptionCredits": 50,
  "lifetimeCredits": 1200
}

Limits & Pricing

Rate Limits

  • Generations10/min, 100/hr
  • Other endpoints60/min

Credit Costs

  • Image (Budget)1-2 credits
  • Image (Premium)3-5 credits
  • Video10-25 credits
  • Motion Transfer20-25 credits

Ready to integrate?

Create your API key and start generating in minutes.