{"version":"1.0.0-draft","creation_surfaces":[{"id":"projects","kind":"workspace","endpoint":"/v1/projects","endpoints":{"list":"/v1/projects","create":"/v1/projects","get":"/v1/projects/{projectId}","update":"/v1/projects/{projectId}","resume":"/v1/projects/{projectId}/resume","dashboard":"/v1/projects/{projectId}/dashboard","activity":"/v1/projects/{projectId}/activity","publish_programs":"/v1/projects/{projectId}/publish-programs"},"description":"Persist campaign-level context above individual sessions. Use projects to organize briefs, resumable work, and recent outputs.","scopes":["video_plans:read","video_plans:write"]},{"id":"sessions","kind":"interactive","endpoint":"/v1/sessions","endpoints":{"list":"/v1/sessions","create":"/v1/sessions","get":"/v1/sessions/{sessionId}","update":"/v1/sessions/{sessionId}","branch":"/v1/sessions/{sessionId}/branch","variants":"/v1/sessions/{sessionId}/variants","preview":"/v1/sessions/{sessionId}/preview","approve":"/v1/sessions/{sessionId}/approve","artifacts":"/v1/sessions/{sessionId}/artifacts","latest_render_run":"/v1/sessions/{sessionId}/render-run/latest"},"description":"Session-oriented alias for interactive creation. Use this when the client treats the draft as a persistent creation session rather than a video-plan object.","supported_sources":["prompt","script","article_url","workflow_profile","workflow_profile_binding"],"supported_session_modes":["quick","guided","asset_first","clip","workflow"],"review_required":true,"scopes":["video_plans:read","video_plans:write"],"alias_of":"video_plans"},{"id":"workflow_profiles","kind":"authoring","endpoint":"/v1/workflow-profiles","endpoints":{"list":"/v1/workflow-profiles","create":"/v1/workflow-profiles","generate":"/v1/workflow-profiles/generate","get":"/v1/workflow-profiles/{profileKey}","update":"/v1/workflow-profiles/{profileKey}","preview":"/v1/workflow-profiles/{profileKey}/preview","publish":"/v1/workflow-profiles/{profileKey}/publish"},"description":"Author reusable workflow profiles from long descriptions or structured blocks, preview them, then publish immutable versions.","scopes":["video_plans:read","video_plans:write"]},{"id":"workflow_profile_bindings","kind":"customization","endpoint":"/v1/workflow-profile-bindings","endpoints":{"list":"/v1/workflow-profile-bindings","create":"/v1/workflow-profile-bindings","get":"/v1/workflow-profile-bindings/{bindingId}","update":"/v1/workflow-profile-bindings/{bindingId}"},"description":"Persist organization, team, or user-scoped defaults on top of a published workflow profile and reuse the returned binding_id at runtime.","scopes":["video_plans:read","video_plans:write"]},{"id":"presenter_profiles","kind":"catalog","endpoint":"/v1/presenter-profiles","endpoints":{"list":"/v1/presenter-profiles","create":"/v1/presenter-profiles","get":"/v1/presenter-profiles/{presenterProfileId}","update":"/v1/presenter-profiles/{presenterProfileId}"},"description":"Persist reusable presenter identities for realtors, spokespeople, and virtual influencers.","scopes":["video_plans:read","video_plans:write"]},{"id":"video_plans","kind":"interactive","endpoint":"/v1/video-plans","endpoints":{"list":"/v1/video-plans","create":"/v1/video-plans","get":"/v1/video-plans/{planId}","update":"/v1/video-plans/{planId}","preview":"/v1/video-plans/{planId}/preview","approve":"/v1/video-plans/{planId}/approve"},"description":"Generate an editable draft first, attach input assets, inspect a preview bundle, then approve it into a render job.","supported_sources":["prompt","script","article_url"],"supported_session_modes":["quick","guided","asset_first","clip","workflow"],"direct_video_variants":["simple"],"review_required":true,"scopes":["video_plans:read","video_plans:write"]},{"id":"videos","kind":"fully_automated","endpoint":"/v1/videos","endpoints":{"list":"/v1/videos","get":"/v1/videos/{videoId}","latest_render_run":"/v1/videos/{videoId}/render-run/latest"},"description":"Create an automated text-to-video render without a human review step.","supported_sources":["prompt","script","article_url"],"direct_video_variants":["simple"],"review_required":false,"scopes":["videos:read","videos:write"]},{"id":"render_runs","kind":"execution","endpoints":{"list":"/v1/render-runs","get":"/v1/render-runs/{runId}","events":"/v1/render-runs/{runId}/events","events_stream":"/v1/render-runs/{runId}/events/stream","descriptor":"/v1/render-runs/{runId}/descriptor","timeline":"/v1/render-runs/{runId}/timeline","composition_props":"/v1/render-runs/{runId}/composition-props"},"description":"Inspect queued, rendering, completed, or failed render runs and their immutable artifact inputs.","scopes":["videos:read","video_plans:read"]},{"id":"clip_tasks","kind":"clip_extraction","endpoints":{"create":"/v1/clip-tasks","get":"/v1/clip-tasks/{clipTaskId}","render":"/v1/clip-tasks/{clipTaskId}/render"},"description":"Upload or reference a source video, extract candidate sections, then render one or more selected clips.","supported_sources":["upload","url","media_id"],"render_modes":["standard","commentary"],"scopes":["clip_tasks:read","clip_tasks:write"]},{"id":"workflow_executions","kind":"automation","endpoints":{"workflows":"/v1/workflows","execute":"/v1/workflows/{workflowId}/executions","execution":"/v1/workflow-executions/{executionId}"},"description":"Run saved automation workflows that already exist in the user account.","supported_controls":["inputs","start_from_node_id","cached_outputs"],"scopes":["workflows:read","workflow_executions:read","workflow_executions:write"]},{"id":"media_library","kind":"source_asset","endpoints":{"list":"/v1/media","upload":"/v1/media","get":"/v1/media/{mediaId}"},"description":"Upload and manage reusable source assets for API-driven creation flows.","supported_media_kinds":["video","image","audio"],"scopes":["media:read","media:write"]},{"id":"selection_catalogs","kind":"catalog","endpoints":{"archetypes":"/v1/archetypes","caption_styles":"/v1/caption-styles","visual_styles":"/v1/visual-styles","voices":"/v1/voices","social_accounts":"/v1/social-accounts"},"description":"Inspect shared archetypes, caption styles, visual styles, voices, and connected social accounts before updating a plan, queuing a render, or publishing a finished video.","scopes":["video_plans:read","voices:read","videos:read"]},{"id":"publishing","kind":"distribution","endpoints":{"social_accounts":"/v1/social-accounts","publish_video":"/v1/videos/{videoId}/publish"},"description":"List connected publish destinations and post a finished video to one or more selected social accounts.","scopes":["videos:read","videos:write"]},{"id":"brand_kits","kind":"catalog","endpoints":{"list":"/v1/brand-kits","create":"/v1/brand-kits","get":"/v1/brand-kits/{brandKitId}","update":"/v1/brand-kits/{brandKitId}","usage":"/v1/brand-kits/{brandKitId}/usage"},"description":"Create reusable brand kits with visual, caption, and voice defaults plus glossary, banned terms, and attached media refs.","scopes":["video_plans:read","video_plans:write"]}],"option_sets":{"aspect_ratios":["9:16","4:5","1:1","16:9"],"media_types":["images_only","first_only","strong_start","odds","full"],"image_qualities":["standard","ultra"],"target_platforms":["tiktok","instagram_reels","youtube_shorts","linkedin","generic"],"caption_styles":["viral","bold","minimal","story"],"visual_styles":["cinematic","animated","sketch-black-white","disney","ghibli","anime"],"archetypes":["brief_video","listing_teaser","article_explainer","walkthrough_clips","avatar_spokesperson","launch_film","batch_shorts","asset_first_campaign"],"input_asset_roles":["hero","support","reference","source_video","logo","music"],"preview_surfaces":["storyboard","voice","captions","assets"],"session_modes":["quick","guided","asset_first","clip","workflow"],"session_stages":["drafting","preview_ready","ready_to_render","rendering","completed","failed"],"clip_commentary_styles":["funny","fact_check","oppositional","educational","roast","hype","react","story","debate","cringe"],"automated_video_variants":["simple","avatar_video","article_video","ad_generator","viral_clip"],"session_source_kinds":["prompt","script","article_url","workflow_profile","workflow_profile_binding"]},"api_key_scopes":["*","voices:read","media:read","media:write","videos:read","videos:write","video_plans:read","video_plans:write","clip_tasks:read","clip_tasks:write","workflows:read","workflow_executions:read","workflow_executions:write","webhooks:read"],"notes":["Use /v1/sessions when the client wants a session-first alias on top of video plans.","Use /v1/sessions/{sessionId}/branch and /v1/sessions/{sessionId}/variants to create and compare first-class alternatives inside the same campaign.","Use /v1/projects to group related sessions and support start-or-resume workflows.","Use /v1/projects/{projectId}/dashboard and /v1/projects/{projectId}/activity when the client needs a project-native operating surface instead of stitching together separate queries.","Use /v1/projects/{projectId}/publish-programs to persist reusable distribution packs per project.","Use /v1/brand-kits to persist reusable creative defaults such as voice, visual, caption, and glossary preferences.","Use /v1/brand-kits/{brandKitId}/usage to inspect where a brand kit is active across projects, sessions, and recent runs.","Use /v1/archetypes to inspect the shared project and prompt archetypes before creating a session or project.","Direct /v1/videos and /v1/video-plans currently support prompt, script, and article_url sources.","Video plan responses expose session metadata such as version, input_assets, preview_bundle, and pending decisions.","Use /v1/video-plans/{planId}/preview when an agent needs a lightweight preview document with voice/media links and next actions.","Use /v1/render-runs/{runId} and the session/video latest-render-run helpers to inspect execution progress without reloading the full video/session document.","Use /v1/render-runs/{runId}/events/stream for server-sent event updates when you want live render progress without polling.","Use /v1/sessions/{sessionId}/artifacts and /v1/render-runs/{runId}/{artifactKind} to inspect immutable render descriptors, timelines, and composition props.","Use /v1/caption-styles, /v1/visual-styles, /v1/voices, and /v1/social-accounts to browse creative and distribution presets before mutating a session or publishing a video.","Use /v1/videos/{videoId}/publish to post a completed video to connected TikTok, YouTube, Facebook, or Instagram destinations.","Use /v1/brand-kits to persist reusable visual defaults, caption defaults, voice defaults, glossary entries, banned terms, and attached media refs.","Use /v1/workflow-profiles to author reusable workflow formats that can later run through /v1/sessions.","Use /v1/workflow-profile-bindings to create stable reusable ids that combine a workflow profile with team, brand, and presenter defaults.","Use /v1/presenter-profiles to persist reusable presenter and virtual influencer defaults for profile bindings.","Media-backed and clip-backed creation are exposed through /v1/media and /v1/clip-tasks rather than overloading /v1/videos.","Workflow executions expose the automation engine without exposing the internal UI routes."]}