Creaition API

Build with Creaition engines and templates.

Use the Creaition API to automate template workflows, generate images and videos with active engines, manage cast/location libraries, and power batch pipelines. Business tools require an active business account.

How It Works

  • Submit a request on /api-request.html.
  • Choose the scopes and endpoint permissions your app needs.
  • Create or reveal your API key from API Access.
  • Send your key as Authorization: Bearer YOUR_API_KEY in requests.

Available Scope Groups

  • templates:read - list and inspect templates.
  • slideshows:create - create slideshow-ready outputs.
  • tv-apps:publish - publish TV/event display bundles.
  • batch:jobs - submit and monitor batch processing jobs.
  • business:tools - business-only tools (requires business account).
  • engines:read, image_gen:create, and video_gen:create are controlled as endpoint permissions per key.

Request Endpoint

Submit your key application programmatically:

POST /api/public-api/request-key
Content-Type: application/json

{
  "fullName": "Jane Creator",
  "email": "jane@studio.com",
  "companyName": "Studio Co",
  "accountType": "business",
  "requestedScopes": ["templates:read", "batch:jobs", "business:tools"],
  "useCase": "Build automated slideshow campaigns for retail screens."
}

Capabilities Endpoint

Read currently supported scope names:

GET /api/public-api/capabilities

If signed in, you can also list your requests:

GET /api/public-api/my-requests
Authorization: Bearer USER_TOKEN

Template API Tutorials

These examples run templates with your API key (no browser token needed).

0) Runtime auth is API key only

You do not send email/password to runtime public endpoints. Use only x-api-key (or Authorization: Bearer API_KEY).

curl -X GET "https://www.creaition.co/api/public-api/library/cast" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY"

1) List templates (cURL)

curl -X GET "https://www.creaition.co/api/public-api/templates?page=1&limit=12&sort=popular" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY"

2) Execute a template (cURL / JSON)

Use a template id from step 1. Send an idempotency key to prevent duplicate runs.

curl -X POST "https://www.creaition.co/api/public-api/templates/TEMPLATE_ID/execute" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "x-idempotency-key: run-001-template-123" \
  -d '{
    "outputType": "image",
    "inputs": {
      "_output_type": "image",
      "prompt": "A clean product shot, studio lights, white background"
    }
  }'

3) Execute from JavaScript (Node)

const API_KEY = process.env.CREAI_API_KEY;
const TEMPLATE_ID = "YOUR_TEMPLATE_ID";

const res = await fetch(`https://www.creaition.co/api/public-api/templates/${TEMPLATE_ID}/execute`, {
  method: "POST",
  headers: {
    "x-api-key": API_KEY,
    "content-type": "application/json",
    "x-idempotency-key": `demo-${Date.now()}`
  },
  body: JSON.stringify({
    outputType: "image",
    inputs: {
      _output_type: "image",
      prompt: "Cinematic neon city street, rain reflections"
    }
  })
});

const data = await res.json();
console.log(data.success, data.result);

4) Execute from Python

import requests, time

API_KEY = "CRAI_LIVE_YOUR_KEY"
TEMPLATE_ID = "YOUR_TEMPLATE_ID"

payload = {
  "outputType": "image",
  "inputs": {
    "_output_type": "image",
    "prompt": "Fashion portrait with soft studio lighting"
  }
}

resp = requests.post(
  f"https://www.creaition.co/api/public-api/templates/{TEMPLATE_ID}/execute",
  headers={
    "x-api-key": API_KEY,
    "Content-Type": "application/json",
    "x-idempotency-key": f"py-{int(time.time())}"
  },
  json=payload,
  timeout=180
)
print(resp.status_code, resp.json())

5) Image generation create endpoint

curl -X POST "https://www.creaition.co/api/public-api/image_gen/create?include=engines,properties" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "engine": "black-forest-labs/flux-schnell",
    "prompt": "A futuristic sneaker product shot on reflective black glass",
    "aspect_ratio": "1:1"
  }'

6) Video generation create endpoint

curl -X POST "https://www.creaition.co/api/public-api/video_gen/create?include=engines,properties" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "engine": "wan-video/wan-2.2-5b-fast",
    "prompt": "Cinematic drone push-in over a neon city at dusk",
    "duration": 5,
    "resolution": "720p"
  }'

6b) Concatenate finished videos

curl -X POST "https://www.creaition.co/api/public-api/video_concat/create" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "videoIds": ["VIDEO_ID_1", "VIDEO_ID_2"],
    "prompt": "Merged sequence"
  }'

Requires endpoint permission video_concat:create and a create scope (e.g. batch:jobs). Poll GET /api/public-api/jobs/{jobId} after the 202 response.

7) Cast library via API key

# List cast
curl -X GET "https://www.creaition.co/api/public-api/library/cast" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY"

# Save cast item (create/update when _id is included)
curl -X POST "https://www.creaition.co/api/public-api/library/cast" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "character": {
      "name": "Maya",
      "role": "Lead",
      "kind": "fantasy",
      "race": "human",
      "imageUrl": "https://your-cdn.com/maya.png"
    }
  }'

# Delete cast item
curl -X DELETE "https://www.creaition.co/api/public-api/library/cast/CAST_ID" \
  -H "x-api-key: CRAI_LIVE_YOUR_KEY"

8) Endpoint permissions per key

Each API key can allow/deny individual endpoint groups in API Access.

templates:list            -> GET    /api/public-api/templates
templates:execute         -> POST   /api/public-api/templates/:id/execute
engines:read              -> GET    /api/public-api/engines
jobs:read                 -> GET    /api/public-api/jobs/:jobId
image_gen:create          -> GET/POST /api/public-api/image_gen/create
video_gen:create          -> GET/POST /api/public-api/video_gen/create
video_concat:create       -> GET/POST /api/public-api/video_concat/create
library:cast:list         -> GET    /api/public-api/library/cast
library:cast:write        -> POST/DELETE /api/public-api/library/cast
library:locations:list    -> GET    /api/public-api/library/locations
library:locations:write   -> POST/DELETE /api/public-api/library/locations
gallery:read              -> GET    /api/public-api/gallery (+ /gallery/images)

Guidelines & Fair Use