Kensa
API Reference

API Overview

Authenticate with a Kensa API key and call the REST API at https://www.kensa.cc/api/v1.

The Kensa REST API lets you generate videos, check their status and read your credits from your own code. It uses the same models and the same credit balance as the web app.

Get an API key

API access is part of the Ultimate plan.

  1. Sign in and open API Keys from the account menu.
  2. Enter a name for the key and click Create.
  3. Copy the key. It starts with kens_ and is shown only once; Kensa stores only a hash of it.

You can revoke a key on the same page at any time. A revoked key stops working immediately. Keys also stop working when the account is no longer on the Ultimate plan.

Base URL

https://www.kensa.cc/api/v1

Authentication

Send the key as a Bearer token in the Authorization header:

curl https://www.kensa.cc/api/v1/credit/balance \
  -H "Authorization: Bearer kens_your_key"

An x-api-key: kens_your_key header works too. Keep keys on your server; never put them in browser or mobile app code.

Requests and responses

Send request bodies as JSON with Content-Type: application/json. Every JSON response has a success field:

{ "success": true, "data": { } }
{ "success": false, "error": { "message": "Unauthorized" } }

Some errors also include error.details, for example { "reason": "insufficient_credits" }.

Status codes

StatusMeaning
200Success
400Invalid request: failed validation, an image that can't be read, or content that breaks the usage policy
401Missing, unknown or revoked API key, or the account is not on the Ultimate plan
402Not enough credits (details.reason: "insufficient_credits")
404Video not found
429Too many requests, or too many generations running at once (details.reason: "parallel_limit"). The Ultimate plan runs up to 5 generations at the same time.
503The model is under maintenance (details.reason: "model_maintenance"), or the image check is temporarily unavailable
500Unexpected server error

Endpoints

MethodPathDescription
POST/video/generateStart a generation
GET/video/{uuid}/statusCheck the status of a generation
GET/video/{uuid}Get a video
GET/video/{uuid}/downloadDownload the MP4 file
GET/video/listList your videos
DELETE/video/{uuid}Delete a video
GET/config/modelsList the models and their options (no key needed)
GET/credit/balanceGet your credit balance
GET/credit/historyList your credit transactions

Generations run asynchronously. There are no webhooks for API clients: poll the status endpoint until the video is COMPLETED or FAILED.