{"openapi":"3.1.1","info":{"title":"VidiPrompt Video API","version":"1.0.0","description":"Create, monitor, list, and securely download VidiPrompt videos. Creator and Pro use the same account allowance as the dashboard.","contact":{"url":"https://vidiprompt.com/support"}},"servers":[{"url":"https://vidiprompt.com/api/v1"}],"security":[{"bearerAuth":[]}],"paths":{"/videos":{"post":{"operationId":"createVideo","summary":"Create a video","description":"Atomically reserves shared account capacity and queues one asynchronous video generation.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"A unique 16 to 128 character visible ASCII value retained for 24 hours.","schema":{"type":"string","minLength":16,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVideoRequest"},"example":{"topic":"The emperor who erased his own brother from history","video_mode":"darkHistory","style_pack":"documentary","voice":"warm-storyteller","language":"en","captions":{"style":"tiktok","position":"center"}}}}},"responses":{"202":{"description":"The video was accepted or the saved idempotent response was replayed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoAccepted"},"example":{"id":"123e4567-e89b-42d3-a456-426614174000","object":"video","status":"queued","created_at":"2026-08-13T18:00:00.000Z","queue":{"position":2},"settings":{"video_mode":"darkHistory","style_pack":"documentary","voice":"warm-storyteller","language":"en","captions":{"style":"tiktok","position":"center"}},"usage":{"used":3,"reserved":1,"remaining":11,"limit":15},"links":{"self":"https://vidiprompt.com/api/v1/videos/123e4567-e89b-42d3-a456-426614174000","download":null}}}},"headers":{"RateLimit-Limit":{"description":"Maximum requests in the current policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current policy window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"Server request identifier for support and diagnostics.","schema":{"type":"string","format":"uuid"}},"Location":{"description":"Canonical video resource URL.","schema":{"type":"string","format":"uri"}},"Retry-After":{"description":"Minimum poll delay in seconds.","schema":{"type":"integer","const":5}},"Idempotent-Replayed":{"description":"Present and true only for an exact replay.","schema":{"type":"string","const":"true"}}}},"400":{"description":"The request, JSON, or Idempotency-Key is invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"The API key is missing, malformed, unknown, revoked, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"The account or API key is not authorized for this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"The idempotency key conflicts or the shared outstanding-job cap is reached.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"The request body exceeds 32 KiB.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Content-Type is not application/json.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"A persistent API rate limit was exceeded.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The request failed with a sanitized internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"A required security or application dependency is unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"listVideos","summary":"List videos","parameters":[{"name":"limit","in":"query","description":"Page size from 1 through 100; default 20.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","description":"Opaque signed cursor from next_cursor.","schema":{"type":"string","maxLength":2048}},{"name":"status","in":"query","description":"Optional exact public-status filter.","schema":{"type":"string","enum":["queued","processing","completed","failed","cancelled","expired"]}}],"responses":{"200":{"description":"An owner-scoped page ordered by created_at and id descending.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoList"},"example":{"object":"list","data":[],"has_more":false,"next_cursor":null}}}},"400":{"description":"The query or cursor is invalid or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"The API key is missing, malformed, unknown, revoked, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"The account or API key is not authorized for this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"A persistent API rate limit was exceeded.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The request failed with a sanitized internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"A required security or application dependency is unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/videos/{video_id}":{"get":{"operationId":"getVideo","summary":"Retrieve a video","parameters":[{"name":"video_id","in":"path","required":true,"description":"The UUID returned when the video was created.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The owner-scoped public video resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Video"},"example":{"id":"123e4567-e89b-42d3-a456-426614174000","object":"video","status":"completed","source":"api","created_at":"2026-08-13T18:00:00.000Z","updated_at":"2026-08-13T18:04:00.000Z","expires_at":"2026-08-20T18:00:00.000Z","settings":{"video_mode":"darkHistory","style_pack":"documentary","voice":"warm-storyteller","language":"en","captions":{"style":"tiktok","position":"center"}},"progress":{"percent":100,"stage":"completed","detail":"Complete!"},"output":{"duration_seconds":42.5},"links":{"self":"https://vidiprompt.com/api/v1/videos/123e4567-e89b-42d3-a456-426614174000","download":"https://vidiprompt.com/api/v1/videos/123e4567-e89b-42d3-a456-426614174000/download"}}}}},"401":{"description":"The API key is missing, malformed, unknown, revoked, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"The account or API key is not authorized for this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"The video is missing or belongs to another account.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"A persistent API rate limit was exceeded.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The request failed with a sanitized internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"A required security or application dependency is unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/videos/{video_id}/download":{"get":{"operationId":"downloadVideo","summary":"Download a completed video","parameters":[{"name":"video_id","in":"path","required":true,"description":"The UUID returned when the video was created.","schema":{"type":"string","format":"uuid"}},{"name":"Range","in":"header","description":"One RFC 9110 bytes range for resumable download.","schema":{"type":"string","example":"bytes=0-"}},{"name":"If-None-Match","in":"header","description":"Return 304 when the current ETag matches.","schema":{"type":"string"}}],"responses":{"200":{"description":"The complete MP4 representation.","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current policy window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"Server request identifier for support and diagnostics.","schema":{"type":"string","format":"uuid"}},"Accept-Ranges":{"description":"The server supports one bytes range.","schema":{"type":"string","const":"bytes"}},"Content-Disposition":{"description":"Safe attachment filename.","schema":{"type":"string"}},"ETag":{"description":"Representation validator.","schema":{"type":"string"}},"Last-Modified":{"description":"Artifact modification time.","schema":{"type":"string"}}},"content":{"video/mp4":{"schema":{"type":"string","format":"binary"}}}},"206":{"description":"The requested MP4 byte range.","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current policy window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"Server request identifier for support and diagnostics.","schema":{"type":"string","format":"uuid"}},"Accept-Ranges":{"description":"The server supports one bytes range.","schema":{"type":"string","const":"bytes"}},"Content-Disposition":{"description":"Safe attachment filename.","schema":{"type":"string"}},"ETag":{"description":"Representation validator.","schema":{"type":"string"}},"Last-Modified":{"description":"Artifact modification time.","schema":{"type":"string"}}},"content":{"video/mp4":{"schema":{"type":"string","format":"binary"}}}},"304":{"description":"The current ETag matches If-None-Match."},"401":{"description":"The API key is missing, malformed, unknown, revoked, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"The account or API key is not authorized for this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"The video is missing, foreign, deleted, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"The owned video is not completed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"416":{"description":"The byte range is malformed, multiple, or unsatisfiable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"A persistent API rate limit was exceeded.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The request failed with a sanitized internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"A required security or application dependency is unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"head":{"operationId":"headVideoDownload","summary":"Inspect completed video download headers","parameters":[{"name":"video_id","in":"path","required":true,"description":"The UUID returned when the video was created.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Headers for the complete MP4 representation, with no body.","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current policy window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"Server request identifier for support and diagnostics.","schema":{"type":"string","format":"uuid"}},"Accept-Ranges":{"description":"The server supports one bytes range.","schema":{"type":"string","const":"bytes"}},"Content-Disposition":{"description":"Safe attachment filename.","schema":{"type":"string"}},"ETag":{"description":"Representation validator.","schema":{"type":"string"}},"Last-Modified":{"description":"Artifact modification time.","schema":{"type":"string"}}},"content":{"video/mp4":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"The API key is missing, malformed, unknown, revoked, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"The account or API key is not authorized for this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"The video is missing, foreign, deleted, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"The owned video is not completed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"A persistent API rate limit was exceeded.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The request failed with a sanitized internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"A required security or application dependency is unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/usage":{"get":{"operationId":"getUsage","summary":"Get shared video usage","responses":{"200":{"description":"The exact account window, completed usage, reservations, and source split.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"},"example":{"plan":"creator","api_access":true,"window":{"type":"stripe_billing_period","start":"2026-08-01T00:00:00.000Z","end":"2026-09-01T00:00:00.000Z","evaluated_at":"2026-08-13T18:00:00.000Z"},"videos":{"limit":15,"used":4,"reserved":1,"remaining":10,"by_source":{"dashboard":{"used":3,"reserved":0},"api":{"used":1,"reserved":1}}},"outstanding_jobs":{"limit":2,"current":1}}}}},"401":{"description":"The API key is missing, malformed, unknown, revoked, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"The account or API key is not authorized for this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"A persistent API rate limit was exceeded.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The request failed with a sanitized internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"A required security or application dependency is unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/capabilities":{"get":{"operationId":"getCapabilities","summary":"Get account capabilities","responses":{"200":{"description":"The current plan limits, supported values, defaults, and retention.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Capabilities"},"example":{"api_version":"v1","plan":{"id":"creator","api_access":true,"video_limit":15,"max_outstanding_jobs":2},"generation":{"video_modes":[{"id":"financeWarning","label":"Finance Warning"},{"id":"darkHistory","label":"Dark History Story"},{"id":"weirdFacts","label":"Weird Facts"},{"id":"cleanEducational","label":"Clean Educational Explainer"},{"id":"motivational","label":"Motivational / Self-Improvement"}],"style_packs":[{"id":"documentary","label":"Documentary Realism"},{"id":"dramaticExplainer","label":"Dramatic Explainer"},{"id":"darkFinance","label":"Dark Finance"},{"id":"cleanEducational","label":"Clean Educational"}],"voices":[{"id":"warm-storyteller","label":"Marin"},{"id":"deep-documentary","label":"Onyx"},{"id":"bright-explainer","label":"Cedar"},{"id":"playful-upbeat","label":"Verse"},{"id":"friendly-casual","label":"Coral"},{"id":"warm-calm","label":"Ballad"}],"languages":["en","es","zh","hi","ar","pt","fr","ja","de","ru"],"caption_styles":["tiktok","hormozi","mrbeast","minimal","elegant","neonGreen","neonPink","neonBlue","knockout","electric","vaporwave","retrowave","outlineWhite","outlineRainbow","gaming","streamer","fire","ice"],"caption_positions":["top","center","bottom"],"defaults":{"video_mode":"darkHistory","style_pack":"documentary","voice":"warm-storyteller","language":"en","captions":{"style":"tiktok","position":"center"}}},"limits":{"topic_characters":500,"body_bytes":32768},"retention":{"video_days":7,"idempotency_hours":24},"polling":{"retry_after_seconds":5}}}}},"401":{"description":"The API key is missing, malformed, unknown, revoked, or expired.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"The account or API key is not authorized for this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"A persistent API rate limit was exceeded.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The request failed with a sanitized internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"A required security or application dependency is unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"VidiPrompt API key","description":"Use an active API key from the VidiPrompt account dashboard."}},"schemas":{"CreateVideoRequest":{"type":"object","properties":{"topic":{"type":"string"},"video_mode":{"type":"string","enum":["financeWarning","darkHistory","weirdFacts","cleanEducational","motivational"]},"style_pack":{"type":"string","enum":["documentary","dramaticExplainer","darkFinance","cleanEducational"]},"voice":{"type":"string","enum":["warm-storyteller","deep-documentary","bright-explainer","playful-upbeat","friendly-casual","warm-calm"]},"language":{"type":"string","enum":["en","es","zh","hi","ar","pt","fr","ja","de","ru"]},"captions":{"type":"object","properties":{"style":{"type":"string","enum":["tiktok","hormozi","mrbeast","minimal","elegant","neonGreen","neonPink","neonBlue","knockout","electric","vaporwave","retrowave","outlineWhite","outlineRainbow","gaming","streamer","fire","ice"]},"position":{"type":"string","enum":["top","center","bottom"]}},"additionalProperties":false}},"required":["topic"],"additionalProperties":false},"VideoAccepted":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"video"},"status":{"type":"string","const":"queued"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"queue":{"type":"object","properties":{"position":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["position"],"additionalProperties":false},"settings":{"type":"object","properties":{"video_mode":{"type":"string","enum":["financeWarning","darkHistory","weirdFacts","cleanEducational","motivational"]},"style_pack":{"type":"string","enum":["documentary","dramaticExplainer","darkFinance","cleanEducational"]},"voice":{"type":"string","enum":["warm-storyteller","deep-documentary","bright-explainer","playful-upbeat","friendly-casual","warm-calm"]},"language":{"type":"string","enum":["en","es","zh","hi","ar","pt","fr","ja","de","ru"]},"captions":{"type":"object","properties":{"style":{"type":"string","enum":["tiktok","hormozi","mrbeast","minimal","elegant","neonGreen","neonPink","neonBlue","knockout","electric","vaporwave","retrowave","outlineWhite","outlineRainbow","gaming","streamer","fire","ice"]},"position":{"type":"string","enum":["top","center","bottom"]}},"required":["style","position"],"additionalProperties":false}},"required":["video_mode","style_pack","voice","language","captions"],"additionalProperties":false},"usage":{"type":"object","properties":{"used":{"type":"integer","minimum":0,"maximum":9007199254740991},"reserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["used","reserved","remaining","limit"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"download":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["self","download"],"additionalProperties":false}},"required":["id","object","status","created_at","queue","settings","usage","links"],"additionalProperties":false},"Video":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"video"},"status":{"type":"string","enum":["queued","processing","completed","failed","cancelled","expired"]},"source":{"type":"string","enum":["dashboard","api"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"settings":{"type":"object","properties":{"video_mode":{"type":"string","enum":["financeWarning","darkHistory","weirdFacts","cleanEducational","motivational"]},"style_pack":{"type":"string","enum":["documentary","dramaticExplainer","darkFinance","cleanEducational"]},"voice":{"type":"string","enum":["warm-storyteller","deep-documentary","bright-explainer","playful-upbeat","friendly-casual","warm-calm"]},"language":{"type":"string","enum":["en","es","zh","hi","ar","pt","fr","ja","de","ru"]},"captions":{"type":"object","properties":{"style":{"type":"string","enum":["tiktok","hormozi","mrbeast","minimal","elegant","neonGreen","neonPink","neonBlue","knockout","electric","vaporwave","retrowave","outlineWhite","outlineRainbow","gaming","streamer","fire","ice"]},"position":{"type":"string","enum":["top","center","bottom"]}},"required":["style","position"],"additionalProperties":false}},"required":["video_mode","style_pack","voice","language","captions"],"additionalProperties":false},"progress":{"type":"object","properties":{"percent":{"type":"integer","minimum":0,"maximum":100},"stage":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["percent","stage","detail"],"additionalProperties":false},"queue":{"type":"object","properties":{"position":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["position"],"additionalProperties":false},"output":{"type":"object","properties":{"duration_seconds":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["duration_seconds"],"additionalProperties":false},"failure":{"type":"object","properties":{"code":{"type":"string","const":"generation_failed"},"message":{"type":"string","const":"Video generation failed."}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"download":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["self","download"],"additionalProperties":false}},"required":["id","object","status","source","created_at","updated_at","expires_at","progress","links"],"additionalProperties":false},"VideoList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"object":{"type":"string","const":"video"},"status":{"type":"string","enum":["queued","processing","completed","failed","cancelled","expired"]},"source":{"type":"string","enum":["dashboard","api"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"settings":{"type":"object","properties":{"video_mode":{"type":"string","enum":["financeWarning","darkHistory","weirdFacts","cleanEducational","motivational"]},"style_pack":{"type":"string","enum":["documentary","dramaticExplainer","darkFinance","cleanEducational"]},"voice":{"type":"string","enum":["warm-storyteller","deep-documentary","bright-explainer","playful-upbeat","friendly-casual","warm-calm"]},"language":{"type":"string","enum":["en","es","zh","hi","ar","pt","fr","ja","de","ru"]},"captions":{"type":"object","properties":{"style":{"type":"string","enum":["tiktok","hormozi","mrbeast","minimal","elegant","neonGreen","neonPink","neonBlue","knockout","electric","vaporwave","retrowave","outlineWhite","outlineRainbow","gaming","streamer","fire","ice"]},"position":{"type":"string","enum":["top","center","bottom"]}},"required":["style","position"],"additionalProperties":false}},"required":["video_mode","style_pack","voice","language","captions"],"additionalProperties":false},"progress":{"type":"object","properties":{"percent":{"type":"integer","minimum":0,"maximum":100},"stage":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["percent","stage","detail"],"additionalProperties":false},"queue":{"type":"object","properties":{"position":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["position"],"additionalProperties":false},"output":{"type":"object","properties":{"duration_seconds":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["duration_seconds"],"additionalProperties":false},"failure":{"type":"object","properties":{"code":{"type":"string","const":"generation_failed"},"message":{"type":"string","const":"Video generation failed."}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"download":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["self","download"],"additionalProperties":false}},"required":["id","object","status","source","created_at","updated_at","expires_at","progress","links"],"additionalProperties":false}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Usage":{"type":"object","properties":{"plan":{"type":"string","enum":["free","basic","creator","pro"]},"api_access":{"type":"boolean"},"window":{"type":"object","properties":{"type":{"type":"string","enum":["rolling_7_days","stripe_billing_period"]},"start":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"end":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"evaluated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["type","start","end","evaluated_at"],"additionalProperties":false},"videos":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"used":{"type":"integer","minimum":0,"maximum":9007199254740991},"reserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991},"by_source":{"type":"object","properties":{"dashboard":{"type":"object","properties":{"used":{"type":"integer","minimum":0,"maximum":9007199254740991},"reserved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["used","reserved"],"additionalProperties":false},"api":{"type":"object","properties":{"used":{"type":"integer","minimum":0,"maximum":9007199254740991},"reserved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["used","reserved"],"additionalProperties":false}},"required":["dashboard","api"],"additionalProperties":false}},"required":["limit","used","reserved","remaining","by_source"],"additionalProperties":false},"outstanding_jobs":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number","const":1},{"type":"number","const":2},{"type":"number","const":5}]},"current":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["limit","current"],"additionalProperties":false}},"required":["plan","api_access","window","videos","outstanding_jobs"],"additionalProperties":false},"Capabilities":{"type":"object","properties":{"api_version":{"type":"string","const":"v1"},"plan":{"type":"object","properties":{"id":{"type":"string","enum":["free","basic","creator","pro"]},"api_access":{"type":"boolean"},"video_limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_outstanding_jobs":{"anyOf":[{"type":"number","const":1},{"type":"number","const":2},{"type":"number","const":5}]}},"required":["id","api_access","video_limit","max_outstanding_jobs"],"additionalProperties":false},"generation":{"type":"object","properties":{"video_modes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1}},"required":["id","label"],"additionalProperties":false}},"style_packs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1}},"required":["id","label"],"additionalProperties":false}},"voices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1}},"required":["id","label"],"additionalProperties":false}},"languages":{"type":"array","items":{"type":"string","enum":["en","es","zh","hi","ar","pt","fr","ja","de","ru"]}},"caption_styles":{"type":"array","items":{"type":"string","enum":["tiktok","hormozi","mrbeast","minimal","elegant","neonGreen","neonPink","neonBlue","knockout","electric","vaporwave","retrowave","outlineWhite","outlineRainbow","gaming","streamer","fire","ice"]}},"caption_positions":{"type":"array","items":{"type":"string","enum":["top","center","bottom"]}},"defaults":{"type":"object","properties":{"video_mode":{"type":"string","enum":["financeWarning","darkHistory","weirdFacts","cleanEducational","motivational"]},"style_pack":{"type":"string","enum":["documentary","dramaticExplainer","darkFinance","cleanEducational"]},"voice":{"type":"string","enum":["warm-storyteller","deep-documentary","bright-explainer","playful-upbeat","friendly-casual","warm-calm"]},"language":{"type":"string","enum":["en","es","zh","hi","ar","pt","fr","ja","de","ru"]},"captions":{"type":"object","properties":{"style":{"type":"string","enum":["tiktok","hormozi","mrbeast","minimal","elegant","neonGreen","neonPink","neonBlue","knockout","electric","vaporwave","retrowave","outlineWhite","outlineRainbow","gaming","streamer","fire","ice"]},"position":{"type":"string","enum":["top","center","bottom"]}},"required":["style","position"],"additionalProperties":false}},"required":["video_mode","style_pack","voice","language","captions"],"additionalProperties":false}},"required":["video_modes","style_packs","voices","languages","caption_styles","caption_positions","defaults"],"additionalProperties":false},"limits":{"type":"object","properties":{"topic_characters":{"type":"integer","minimum":1,"maximum":9007199254740991},"body_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["topic_characters","body_bytes"],"additionalProperties":false},"retention":{"type":"object","properties":{"video_days":{"type":"integer","minimum":1,"maximum":9007199254740991},"idempotency_hours":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["video_days","idempotency_hours"],"additionalProperties":false},"polling":{"type":"object","properties":{"retry_after_seconds":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["retry_after_seconds"],"additionalProperties":false}},"required":["api_version","plan","generation","limits","retention","polling"],"additionalProperties":false},"Problem":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"status":{"type":"integer","minimum":400,"maximum":599},"code":{"type":"string","pattern":"^[a-z][a-z0-9_]*$"},"detail":{"type":"string","minLength":1},"instance":{"type":"string","pattern":"^\\/api\\/v1\\/.*"},"request_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","title","status","code","detail","instance","request_id"],"additionalProperties":false}}},"x-vidiprompt-api-availability":"enabled"}