{"components":{"schemas":{"Asset":{"properties":{"bytes":{"type":"integer"},"duration":{"type":"number"},"expires_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"media_type":{"enum":["image","video","audio"],"type":"string"},"media_url":{"format":"uri","type":"string"},"status":{"const":"completed"}},"required":["id","media_type","media_url"],"type":"object"},"AssetInput":{"additionalProperties":false,"properties":{"url":{"description":"Public HTTPS URL. JPEG, PNG, MP3 or MP4; at most 100 MiB and 600 seconds.","format":"uri","type":"string"}},"required":["url"],"type":"object"},"CaptionInput":{"additionalProperties":false,"properties":{"asset_id":{"type":"string"},"caption_style":{"type":"string"},"language":{"maxLength":2,"minLength":2,"type":"string"},"max_credits":{"minimum":1,"type":"integer"}},"required":["asset_id","language","max_credits"],"type":"object"},"EmptyInput":{"additionalProperties":false,"properties":{},"required":null,"type":"object"},"Error":{"properties":{"error":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"request_id":{"type":"string"}},"required":["error","request_id"],"type":"object"},"Operation":{"properties":{"created_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"operation":{"type":"string"},"response_status":{"type":"integer"},"result":{"type":["object","null"]},"status":{"enum":["processing","completed","uncertain"],"type":"string"}},"required":["id","operation","status","result"],"type":"object"},"OperationAccepted":{"properties":{"operation_id":{"type":"string"},"status":{"const":"processing"},"status_url":{"type":"string"}},"required":["operation_id","status","status_url"],"type":"object"},"PostInput":{"additionalProperties":false,"properties":{"account_ids":{"items":{"type":"string"},"maxItems":10,"minItems":1,"type":"array","uniqueItems":true},"caption":{"type":"string"},"scheduled_at":{"format":"date-time","type":"string"},"title":{"type":"string"},"video_id":{"type":"string"}},"required":["caption","video_id","account_ids"],"type":"object"},"ScheduleInput":{"additionalProperties":false,"properties":{"account_ids":{"items":{"type":"string"},"maxItems":10,"minItems":1,"type":"array","uniqueItems":true},"caption":{"type":"string"},"scheduled_at":{"format":"date-time","type":"string"},"title":{"type":"string"},"video_id":{"type":"string"}},"required":["caption","video_id","account_ids","scheduled_at"],"type":"object"},"SeriesInput":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"aspect_ratio":{"type":"string"},"caption_style":{"type":"string"},"duration_range":{"type":"string"},"language":{"type":"string"},"name":{"type":"string"},"post_days":{"items":{"maximum":6,"minimum":0,"type":"integer"},"type":"array","uniqueItems":true},"post_time":{"type":"string"},"schedule":{"type":"string"},"template":{"type":"string"},"timezone":{"type":"string"},"topic":{"type":"string"},"visual_style":{"type":"string"},"voice":{"type":"string"}},"required":["name","topic","template","voice","language"],"type":"object"},"SeriesPatch":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"aspect_ratio":{"type":"string"},"caption_style":{"type":"string"},"duration_range":{"type":"string"},"language":{"type":"string"},"name":{"type":"string"},"post_days":{"items":{"maximum":6,"minimum":0,"type":"integer"},"type":"array","uniqueItems":true},"post_time":{"type":"string"},"schedule":{"type":"string"},"template":{"type":"string"},"timezone":{"type":"string"},"topic":{"type":"string"},"visual_style":{"type":"string"},"voice":{"type":"string"}},"required":null,"type":"object"},"ThumbnailInput":{"additionalProperties":false,"properties":{"asset_id":{"type":"string"}},"required":["asset_id"],"type":"object"},"VideoInput":{"additionalProperties":false,"oneOf":[{"not":{"required":["prompt"]},"required":["script"]},{"not":{"required":["script"]},"required":["prompt"]}],"properties":{"animate_first_n":{"minimum":0,"type":"integer"},"animate_model":{"type":"string"},"aspect_ratio":{"type":"string"},"caption_style":{"type":"string"},"language":{"type":"string"},"music_file":{"type":"string"},"production_mode":{"type":"string"},"prompt":{"type":"string"},"recipe_id":{"type":"string"},"script":{"type":"string"},"sound_effects":{"type":"boolean"},"target_duration":{"minimum":1,"type":"integer"},"template":{"type":"string"},"visual_style":{"type":"string"},"voice":{"type":"string"}},"required":["template","voice","language","target_duration"],"type":"object"}},"securitySchemes":{"bearerAuth":{"bearerFormat":"FluxNote API key","scheme":"bearer","type":"http"}}},"info":{"description":"Not enabled for public use. Current development inventory; additional reference categories remain in implementation.","title":"FluxNote Customer API — private development","version":"0.1.0"},"openapi":"3.1.0","paths":{"/accounts":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Connected social account identifiers","x-required-scope":"accounts:read"}},"/analytics":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Social performance metrics","x-required-scope":"analytics:read"}},"/assets":{"post":{"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetInput"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccepted"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Import a public HTTPS file into private R2 asynchronously","x-required-scope":"assets:write"}},"/assets/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Get an owned asset with a 15-minute signed download URL","x-required-scope":"assets:read"}},"/calendar":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Scheduled social posts","x-required-scope":"posts:read"}},"/credits":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Available credits and generation usage","x-required-scope":"credits:read"}},"/me":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Account identity and current limits","x-required-scope":"account:read"}},"/operations/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Inspect a durable operation receipt","x-required-scope":"operations:read"}},"/options":{"get":{"parameters":[{"in":"query","name":"kind","schema":{"enum":["voices","caption_styles","series_sources","series_niches","styles","music","templates","recipes","animation"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Generation catalogs","x-required-scope":"catalog:read"}},"/posts":{"post":{"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Publish an owned completed video to connected accounts","x-required-scope":"posts:write"}},"/posts/schedule":{"post":{"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Schedule an owned completed video","x-required-scope":"posts:write"}},"/posts/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyInput"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Cancel a pending or scheduled post","x-required-scope":"posts:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Read post status","x-required-scope":"posts:read"}},"/series":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"List existing Autopilot series","x-required-scope":"series:read"},"post":{"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeriesInput"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Create a recurring video series","x-required-scope":"series:write"}},"/series/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyInput"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Delete a series","x-required-scope":"series:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Get an existing Autopilot series","x-required-scope":"series:read"},"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeriesPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Update series configuration","x-required-scope":"series:write"}},"/series/{id}/episodes":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"List existing episodes","x-required-scope":"series:read"}},"/series/{id}/generate":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyInput"}}},"required":false},"responses":{"202":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Queue one episode using existing series billing","x-required-scope":"series:write"}},"/videos":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"List owned videos, newest first","x-required-scope":"videos:read"},"post":{"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoInput"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Create and fully render a video asynchronously","x-required-scope":"videos:write"}},"/videos/captions":{"post":{"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptionInput"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccepted"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Transcribe and caption an imported video; poll operation, then download result asset","x-required-scope":"videos:write"}},"/videos/estimate":{"post":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Validate video input and estimate credits without charging","x-required-scope":"videos:write"}},"/videos/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Soft-delete a terminal video; does not delete media","x-required-scope":"videos:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Poll generation and retrieve the final media URL","x-required-scope":"videos:read"},"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"title":{"maxLength":120,"minLength":1,"type":"string"}},"required":["title"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Update a video title","x-required-scope":"videos:write"}},"/videos/{id}/thumbnail":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThumbnailInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request rejected or operation uncertain; inspect receipt before submitting a new key"}},"summary":"Set thumbnail from an owned imported image","x-required-scope":"videos:write"}},"/voices":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured error"}},"summary":"Available narration voices","x-required-scope":"catalog:read"}}},"security":[{"bearerAuth":[]}],"servers":[{"url":"https://api.fluxnote.io/v1"}]}
