{"openapi":"3.1.0","info":{"title":"Aneka Edit","version":"1.0.0","description":"Add motion graphics to a video from a prompt. Jobs are asynchronous. Send Authorization: Key <api_key>. Webhook deliveries are signed in X-Aneka-Signature."},"paths":{"/v1/edits":{"post":{"summary":"Submit an edit","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"video_url":{"type":"string","minLength":1,"description":"An https or data URL of the source video, at most 5 minutes and 500 MB."},"audio_url":{"type":"string","minLength":1,"description":"An https or data URL of an audio file, at most 5 minutes and 500 MB. The result is a motion-graphic video of this audio."},"prompt":{"type":"string","minLength":1,"description":"What to add, in any language."},"assets":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","minLength":1},"label":{"type":"string"},"kind":{"type":"string","enum":["image","logo","audio","video"]}},"required":["url"],"additionalProperties":false},"description":"Photos, a logo, or music. The prompt can refer to them by label or order."},"aspect_ratio":{"type":"string","enum":["original","9:16","1:1","4:5","16:9"],"description":"Output shape. Defaults to original."},"fit":{"type":"string","enum":["blur_fill","crop_center","crop_face","pad"],"description":"How to change the aspect ratio. Defaults to blur_fill."},"resolution":{"type":"string","enum":["720p","1080p"],"description":"Defaults to 1080p."},"spoken_language":{"type":"string","description":"BCP-47 language of the speech. Defaults to auto-detect."},"text_language":{"type":"string","description":"Language for on-screen text. Defaults to the prompt language."},"captions":{"type":"string","enum":["auto","on","off"],"description":"auto turns captions on when the prompt asks for them."},"style":{"type":"string","description":"Style pack id from GET /v1/catalog, for example diwali."},"music":{"type":"string","enum":["auto","none"]},"vocabulary":{"type":"array","items":{"type":"string"},"description":"Names and terms to spell correctly."},"quality":{"type":"string","enum":["standard","premium"]},"seed":{"type":"integer","minimum":0},"webhook_url":{"type":"string","description":"HTTPS URL that receives the signed result."}},"required":["prompt"],"additionalProperties":false},"example":{"video_url":"https://cdn.example/clip.mp4","prompt":"Add a big Telugu Diwali title, diyas, and an end card from the Murthy family.","style":"diwali"}}}},"responses":{"202":{"description":"Accepted. Poll status_url, then read response_url."},"400":{"description":"The input is not valid and was not billed."},"401":{"description":"Missing or unknown API key."}}}},"/v1/edit":{"post":{"summary":"AI Edit a talking-head video with B-roll, captions and graphics","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"video_url":{"type":"string","minLength":1},"audio_url":{"type":"string","minLength":1},"transcript":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"words":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":1},"start":{"type":"number"},"end":{"type":"number"},"speaker":{"type":"string"}},"required":["text","start","end"],"additionalProperties":false},"minItems":1}},"required":["words"],"additionalProperties":false}]},"script":{"type":"string"},"language":{"type":"string"},"media":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"url":{"type":"string","minLength":1},"type":{"type":"string","enum":["image","video"]},"description":{"type":"string","minLength":1},"tags":{"type":"array","items":{"type":"string"}},"use_hint":{"type":"string"},"usable_range":{"type":"array","minItems":2,"maxItems":2,"items":[{"type":"number"},{"type":"number"}]}},"required":["url","description"],"additionalProperties":false},"default":[]},"brand":{"type":"object","properties":{"name":{"type":"string"},"logo_url":{"type":"string"},"colors":{"type":"array","items":{"type":"string"}},"phone":{"type":"string"},"address":{"type":"string"},"website":{"type":"string"},"cta":{"type":"string"}},"additionalProperties":false},"style":{"type":"string"},"instructions":{"type":"string"},"aspect_ratio":{"type":"string","enum":["9:16","1:1","4:5","16:9"]},"resolution":{"type":"string","enum":["720p","1080p"]},"cut":{"type":"object","properties":{"pauses":{"type":"boolean"},"fillers":{"type":"boolean"},"retakes":{"type":"boolean"},"max_pause_ms":{"type":"integer","exclusiveMinimum":0}},"additionalProperties":false},"broll":{"type":"string","enum":["low","medium","high"]},"captions":{"anyOf":[{"type":"object","properties":{"style":{"type":"string"},"position":{"type":"string","enum":["auto","top","middle","bottom"]},"emphasis":{"type":"boolean"},"emoji":{"type":"boolean"}},"additionalProperties":false},{"type":"string","const":"off"}]},"graphics":{"type":"string","enum":["auto","none"]},"music":{"anyOf":[{"type":"string","enum":["generated","none"]},{"type":"object","properties":{"url":{"type":"string","minLength":1}},"required":["url"],"additionalProperties":false}]},"sfx":{"type":"boolean"},"quality":{"type":"string","enum":["standard","premium"]},"webhook_url":{"type":"string"}},"required":["transcript"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"example":{"video_url":"https://cdn.example/talk.mp4","transcript":"Our Diwali collections are here.","media":[{"url":"https://cdn.example/sarees.jpg","description":"silk sarees on a rack"}]}}}},"responses":{"202":{"description":"Accepted. Poll status_url, then read response_url."},"400":{"description":"The input is not valid and was not billed."},"401":{"description":"Missing or unknown API key."}}}},"/v1/edit/{project_id}/revise":{"post":{"summary":"Revise one AI Edit project","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"instruction":"use the diya clip instead of fireworks at Diwali"}}}},"responses":{"202":{"description":"Accepted. Poll status_url, then read response_url."},"400":{"description":"The input is not valid and was not billed."},"401":{"description":"Missing or unknown API key."}}}},"/v1/edit/render":{"post":{"summary":"Render a Timeline with the CPU compositor","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"timeline":{"version":"1"}}}}},"responses":{"202":{"description":"Accepted. Poll status_url, then read response_url."},"400":{"description":"The input is not valid and was not billed."},"401":{"description":"Missing or unknown API key."}}}},"/v1/motion":{"post":{"summary":"Render a motion-graphics video from a voice-over and its script","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"audio_url":"https://cdn.example/voice.mp3","script":"ఒక చిన్న డౌట్","brief":"Premium Diwali sale","aspect_ratio":"9:16"}}}},"responses":{"202":{"description":"Accepted. Poll status_url, then read response_url."},"400":{"description":"The input is not valid and was not billed."},"401":{"description":"Missing or unknown API key."}}}},"/v1/motion/{project_id}/revise":{"post":{"summary":"Revise one motion project and re-render the changed shots","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"instruction":"Make the 30% shot more explosive"}}}},"responses":{"202":{"description":"Accepted. Poll status_url, then read response_url."},"400":{"description":"The input is not valid and was not billed."},"401":{"description":"Missing or unknown API key."}}}},"/v1/motion/{project_id}/preview":{"get":{"summary":"Preview stills for a motion project at the requested times."}},"/v1/transcribe":{"post":{"summary":"Transcribe a video","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"video_url":"https://cdn.example/clip.mp4"}}}},"responses":{"202":{"description":"Accepted. Poll status_url, then read response_url."},"400":{"description":"The input is not valid and was not billed."},"401":{"description":"Missing or unknown API key."}}}},"/v1/catalog":{"get":{"summary":"List components, style packs, and fonts."}},"/v1/usage":{"get":{"summary":"Input and output seconds metered for this key."}},"/v1/outputs":{"get":{"summary":"List rendered videos, newest first."}},"/v1/outputs/{output_id}/video":{"get":{"summary":"The rendered video bytes."}},"/v1/outputs/{output_id}/poster":{"get":{"summary":"A poster image for a rendered video."}},"/v1/uploads":{"post":{"summary":"Create a presigned upload."}},"/v1/api-keys":{"post":{"summary":"Create a playground API key. Send Authorization: Admin <ANEKA_EDIT_ADMIN_TOKEN>. The key is returned once."}},"/v1/requests/{request_id}/status":{"get":{"summary":"Queue status for a request."}},"/v1/requests/{request_id}":{"get":{"summary":"The finished result, or an error."}},"/v1/requests/{request_id}/cancel":{"put":{"summary":"Cancel a queued request."}},"/health":{"get":{"summary":"Process is up."}},"/ready":{"get":{"summary":"Dependencies are ready."}}}}