API Reference

Full reference for the AuraFlux REST API. Submit jobs, track production, manage templates, and publish to any platform — all programmable.

Base URL https://api.auraflux.co/v1
🔑

Authentication: Pass your API key as a Bearer token on every request — Authorization: Bearer af_live_YOUR_KEY. Get or create API keys inside your account at Settings → API Keys. The Operate and Guided plans include full API access.

Jobs
POST /jobs Submit a job 1–3 credits

Submit a new video production job. Returns immediately with a jobId — poll GET /jobs/:id to track progress. Credits are deducted at submission.

Request body
{ "entry": "fetch", "url": "https://clips.twitch.tv/your-clip", "topic": "Best CS2 plays this week", "tone": "hype", "format": "short", "durationMins": 1, "platforms": ["tiktok"], "publishMode": "immediate" }
Response
{ "jobId": "job_abc123", "status": "queued", "creditCost": 1, "balance": 46 }
cURL
curl -X POST https://api.auraflux.co/v1/jobs \ -H "Authorization: Bearer af_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"entry":"fetch","url":"https://clips.twitch.tv/clip","topic":"Best plays","format":"short","platforms":["tiktok"]}'
GET /jobs/:id Get job status

Poll after submitting a job. Status progresses: queued → running → complete (or failed). A complete job includes an outputUrl.

Response
{ "jobId": "job_abc123", "status": "complete", "outputUrl": "https://r2.auraflux.co/…/output.mp4", "score": 94, "platforms": ["tiktok"], "createdAt": "2026-05-25T12:00:00Z" }
cURL
curl https://api.auraflux.co/v1/jobs/job_abc123 \ -H "Authorization: Bearer af_live_YOUR_KEY"
GET /jobs/:id/result Get full job result

Returns the full output for a completed job: video URL, thumbnail, publish copy, and per-platform publish results. Returns 202 if not yet complete.

Response
{ "jobId": "job_abc123", "status": "complete", "videoUrl": "https://r2.auraflux.co/…/output.mp4", "thumbnailUrl": "https://r2.auraflux.co/…/thumb.jpg", "publishCopy": { "title": "…", "description": "…", "hashtags": ["#cs2"] }, "completedAt": "2026-05-25T12:05:00Z" }
GET /jobs List jobs

Returns your job history. Supports pagination via ?limit=20&offset=0 and optional ?status=complete filter.

cURL
curl "https://api.auraflux.co/v1/jobs?limit=20&status=complete" \ -H "Authorization: Bearer af_live_YOUR_KEY"
DELETE /jobs/:id Cancel a job

Cancels a queued or running job. Cannot cancel jobs that are already complete, published, or failed.

cURL
curl -X DELETE https://api.auraflux.co/v1/jobs/job_abc123 \ -H "Authorization: Bearer af_live_YOUR_KEY"
POST /jobs/:id/approve-publish Approve staged job

When a job is submitted with "staging": true, it stops before Portal 5 (publish) for your review. Call this endpoint to approve and publish.

cURL
curl -X POST https://api.auraflux.co/v1/jobs/job_abc123/approve-publish \ -H "Authorization: Bearer af_live_YOUR_KEY"
Upload
POST /upload Upload a video file

Upload a video file (MP4/MOV, max 500MB). Returns a fileId — pass it to POST /jobs as "entry": "upload", "fileId": "…".

cURL
curl -X POST https://api.auraflux.co/v1/upload \ -H "Authorization: Bearer af_live_YOUR_KEY" \ -F "file=@/path/to/myclip.mp4"
Templates
GET /templates List templates

Returns all saved templates. Use a template's id in POST /jobs as fromTemplateId to submit a job with pre-set options.

cURL
curl https://api.auraflux.co/v1/templates \ -H "Authorization: Bearer af_live_YOUR_KEY"
POST /templates Create a template

Save a job configuration as a reusable template.

cURL
curl -X POST https://api.auraflux.co/v1/templates \ -H "Authorization: Bearer af_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Weekly highlights","format":"short","platforms":["tiktok"],"tone":"hype"}'
DELETE /templates/:id Delete a template

Permanently deletes a saved template. Jobs previously submitted from this template are unaffected.

cURL
curl -X DELETE https://api.auraflux.co/v1/templates/tpl_abc \ -H "Authorization: Bearer af_live_YOUR_KEY"
Scheduling
PATCH /jobs/:id/schedule Schedule a job

Set or update the publish time for an existing job. Pass null to unschedule.

cURL
curl -X PATCH https://api.auraflux.co/v1/jobs/job_abc123/schedule \ -H "Authorization: Bearer af_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"scheduledAt":"2026-05-26T09:00:00Z"}'
Account
GET /account Get account info

Returns your account ID, plan tier, credit balance, and rate limit info. Use this to verify your key is working.

Response
{ "accountId": "user_xxx", "planTier": "operate", "credits": { "balance": 47, "included": 50, "used": 3 } }
cURL
curl https://api.auraflux.co/v1/account \ -H "Authorization: Bearer af_live_YOUR_KEY"
POST /jobs — Field Reference
FieldTypeRequiredDescription
entry"fetch"|"upload"|"compose"|"generate"No (default: fetch)How the source is provided. fetch=URL, upload=file, compose=script-only, generate=generated video
urlstringIf entry=fetchSource video URL (Twitch clip, YouTube, direct MP4)
urlsstring[]NoMultiple source URLs for multi-clip jobs
fileIdstringIf entry=uploadFile ID from POST /upload
topicstringNoTopic for the video (max 500 chars). Used for script generation and metadata.
tonestringNoVoiceover tone e.g. "hype", "calm", "educational"
format"short"|"long"No (default: short)Short-form (≤60s) or long-form video
durationMinsnumberNo (default: 1)Target duration in minutes (1–120)
platformsstring[]No"tiktok", "youtube", "instagram" — platforms to publish to
publishMode"immediate"|"scheduled"|"manual"No (default: immediate)When to publish after production
stagingbooleanNoIf true, job stops before publish for your review
fromTemplateIdstringNoStart from a saved template. Body fields override template values.
Rate Limits & Credit Costs
Rate limits
  • 60 API requests / minute
  • 10 concurrent job submissions
  • 500MB max upload size
Credit costs per job
  • Short-form, single clip — 1 credit
  • Long-form or multi-clip — 2 credits
  • Video generation — 3 credits

Ready to start building?

Get your API key and start submitting jobs in minutes on the Operate plan.

Get API Access
💬 AuraFlux Chat
Hi! I'm the AuraFlux assistant. Ask me anything about the platform, pricing, or how it works.