Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vidjutsu.ai/llms.txt

Use this file to discover all available pages before exploring further.

Base URL

https://api.vidjutsu.ai

Authentication

Most endpoints require an API key passed as a Bearer token in the Authorization header:
curl https://api.vidjutsu.ai/v1/accounts \
  -H "Authorization: Bearer vj_live_your_key_here"
Get your API key by subscribing with any card via Stripe.

Endpoints

Intelligence

Each intelligence endpoint has its own daily rate-limit bucket. Buckets are independent.
MethodEndpointDescriptionCalls / day
POST/v1/watchAI watches video, freeform prompt50
POST/v1/extractPull frames, audio, metadata100
POST/v1/transcribeSpeech-to-text with word timing30
POST/v1/checkValidate spec against rules100
POST/v1/compliance/videoScan a video against platform TOS20
POST/v1/compliance/promptScan text against platform TOS100
POST/v1/overlayBurn text overlay onto a video50
GET/v1/check/rulesLoad per-client custom rulesunmetered
PUT/v1/check/rulesSave per-client custom rulesunmetered

Storage

Storage endpoints are unmetered under your subscription.
MethodEndpointDescription
POST/v1/accountsCreate an account record
PUT/v1/accountsUpdate an account record
GET/v1/accountsList accounts (supports tag filtering)
DELETE/v1/accountsDelete an account
POST/v1/postsCreate a post record (200/day)
PUT/v1/postsUpdate a post record
GET/v1/postsList posts (supports tag filtering)
DELETE/v1/postsDelete a post
POST/v1/uploadUpload media to CDN (100/day)
POST/v1/upload/urlUpload from external URL
POST/v1/referencesCreate a reference record
PUT/v1/referencesUpdate a reference record
GET/v1/referencesList references (supports tag filtering)
DELETE/v1/referencesDelete a reference
POST/v1/assetsCreate an asset record
PUT/v1/assetsUpdate an asset record
GET/v1/assetsList assets (supports tag filtering)
DELETE/v1/assetsDelete an asset

Billing & Keys

MethodEndpointDescription
POST/v1/subscribeStart a subscription checkout session
GET/v1/credits/statusPoll checkout status, retrieve API key
GET/v1/usageRemaining daily capacity per endpoint
GET/v1/pricingCurrent pricing + limits table
POST/v1/api_keys/rotateRotate your API key
POST/v1/api_keys/recoverRecover a lost API key
GET/v1/infoAPI discovery + endpoint catalog

Tags

Accounts and posts support AWS-style key-value tags for organization and filtering:
{
  "tags": [
    { "key": "brand", "value": "summer-launch" },
    { "key": "region", "value": "northeast" }
  ]
}
Filter on GET requests: ?tag.brand=summer-launch

Response codes

CodeDescription
200Success (read operations, edits)
201Created (new records)
202Accepted (async operation started)
400Missing or invalid parameters
401Missing or invalid API key
402Subscription inactive or expired
429Daily rate limit reached

Error format

All errors return a consistent JSON structure. On 429, the response includes retryAfter (seconds until the bucket resets at 00:00 UTC):
{
  "error": "rate_limited",
  "message": "Daily limit reached for watch (50/day). Resets at midnight UTC.",
  "limit": 50,
  "retryAfter": 14523
}

Synchronous responses

All intelligence endpoints return synchronous 200 responses with the result in the body. No polling required.

CORS

The API allows cross-origin requests from any origin. Allowed headers: Content-Type, Authorization.

Versioning

Responses include the VidJutsu-Version header indicating the current API version.