Creaition API Access
Create one API key linked to your account, then use that key directly for templates, cast/location libraries, image generation, and video generation.
Only one active key is kept per user. Creating a new key replaces the previous one. The full secret is shown once here and can be revealed again from "My API Keys" when the server has encryption configured (JWT_SECRET or PUBLIC_API_KEY_ENCRYPTION_SECRET).
Use your key from above with these examples. Engine-aware create endpoints support include=engines,properties to return available engines and per-engine fields.
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)
curl -X GET "https://www.creaition.co/api/public-api/library/cast" \ -H "x-api-key: CRAI_LIVE_YOUR_KEY"
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"
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"
}
}'
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);
curl -X GET "https://www.creaition.co/api/public-api/engines?target=all&include=properties,create_fields" \ -H "x-api-key: CRAI_LIVE_YOUR_KEY"
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"
}'
Returns 202 with a jobId. Poll GET /api/public-api/jobs/{jobId} until status=completed or failed.
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"
}'
Returns 202 with a jobId. Poll GET /api/public-api/jobs/{jobId} for long renders (up to 15 minutes server-side polling).
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"
}'
Joins completed videos you own (same server pipeline as Movie Maker). Optional: videoUrls (MP4 URLs), repeat (1–10), options.allowPartial. Returns 202 + jobId; poll jobs like video gen.
curl -X GET "https://www.creaition.co/api/public-api/jobs/JOB_ID_FROM_CREATE" \ -H "x-api-key: CRAI_LIVE_YOUR_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 or update when _id is provided)
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"
# List locations
curl -X GET "https://www.creaition.co/api/public-api/library/locations" \
-H "x-api-key: CRAI_LIVE_YOUR_KEY"
# Save location item (create or update when _id is provided)
curl -X POST "https://www.creaition.co/api/public-api/library/locations" \
-H "x-api-key: CRAI_LIVE_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"location": {
"name": "Tokyo Rooftop",
"notes": "Rainy neon night",
"prompt": "Cinematic rooftop overlooking neon city in the rain",
"aspect": "16:9",
"url": "https://your-cdn.com/location.jpg"
}
}'
# Delete location item
curl -X DELETE "https://www.creaition.co/api/public-api/library/locations/LOCATION_ID" \
-H "x-api-key: CRAI_LIVE_YOUR_KEY"