{"id":"b9fc7bd0-acf1-44c4-a1cd-73f303a9b340","entityType":"agent","slug":"clawhub-brajendrak00068-ai-agentic-video-editor","name":"AI Agentic Video Editor","canonicalUrl":"https://www.xpersona.co/agent/clawhub-brajendrak00068-ai-agentic-video-editor","canonicalPath":"/agent/clawhub-brajendrak00068-ai-agentic-video-editor","generatedAt":"2026-10-10T10:45:02.181Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T07:04:02.997Z","emptyReason":null},"description":"AI agentic video editor. An autonomous AI editor for video that decomposes natural-language prompts into a planned, verified, executed sequence of edits — vi... Skill: AI Agentic Video Editor Owner: brajendrak00068 Summary: AI agentic video editor. An autonomous AI editor for video that decomposes natural-language prompts into a planned, verified, executed sequence of edits — vi... Tags: agentic-video-editor:1.0.17, ai-agentic-editor:1.0.17, ai-agentic-video-editor:1.0.17, ai-dubbing:1.0.17, ai-video-editor:1.0.22, audio-cleanup:1.0.22, autonomous-video-editing:1.0.17, backg","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17anjkt7txbs1a5hwvyq8q8p586paam:ai-agentic-video-editor","sourceUrl":"https://clawhub.ai/brajendrak00068/ai-agentic-video-editor","homepage":"https://clawhub.ai/brajendrak00068/skills/ai-agentic-video-editor","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/brajendrak00068/ai-agentic-video-editor","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/brajendrak00068/skills/ai-agentic-video-editor","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"AI agentic video editor. An autonomous AI editor for video that decomposes natural-language prompts into a planned, verified, executed sequence of edits — vi..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:04:02.997Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:04:02.997Z","emptyReason":null},"stars":null,"forks":null,"downloads":1602,"packageName":null,"latestVersion":"1.0.22","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:04:02.932Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T07:04:02.997Z","lastCrawledAt":"2026-10-10T07:04:02.932Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T07:04:02.932Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.22","createdAt":"2026-10-02T11:59:42.638Z","changelog":"Update docs and API parity","fileCount":4,"zipByteSize":14392},{"version":"1.0.21","createdAt":"2026-06-01T19:21:38.153Z","changelog":"fix: correct signup URL (studio.livecore.ai), jobId format (digits, not task_-prefixed), and max-length (3h) in docs.","fileCount":4,"zipByteSize":19202},{"version":"1.0.20","createdAt":"2026-06-01T18:59:38.385Z","changelog":"Republish: refresh listing (same prompt-first autonomous-editor contract; usable from any MCP client incl. Hermes via levea-mcp-server).","fileCount":4,"zipByteSize":18673},{"version":"1.0.19","createdAt":"2026-05-25T05:57:55.455Z","changelog":"Docs: surface editorial montage assembly (shot discovery + sequencing) under Assemble; disambiguate vertical montage.","fileCount":4,"zipByteSize":19020},{"version":"1.0.18","createdAt":"2026-05-25T05:44:33.115Z","changelog":"Docs refresh: all 12 layer types; added blend modes, scene lighting, LUFS audio, caption typography, LUT/vignette color; corrected background-blur / ramp-curve / beat-cut claims to match shipped behavior.","fileCount":3,"zipByteSize":17571},{"version":"1.0.17","createdAt":"2026-05-17T08:49:14.814Z","changelog":"Narrow translation claim to 30+ Latin-script languages. Caption rendering currently ships Latin-script font coverage only; CJK / Arabic / Devanagari rendering is on the roadmap. Avoids over-promising in the README.","fileCount":3,"zipByteSize":15759},{"version":"1.0.16","createdAt":"2026-05-17T08:47:31.262Z","changelog":"Surface translation features (previously undocumented): caption translation in 100+ languages with timing preserved, and AI dubbing — auto-read transcript, translate, synthesize voiceover in target language with auto-calibrated speaking rate.","fileCount":3,"zipByteSize":15672},{"version":"1.0.15","createdAt":"2026-05-17T08:41:17.752Z","changelog":"Expand capability surface to cover all shipped features. New in README: transitions (fade/slide/wipe/iris/zoom/whip pan/cross dissolve), video stabilization, reverse playback, title cards, profanity cleanup, audio crossfade, slideshow generation, semantic background replacement, color preset library, blend modes, video noise reduction, markers (chapters/ads/censorship), and expanded VFX/shape/word-animation lists.","fileCount":3,"zipByteSize":15499}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17anjkt7txbs1a5hwvyq8q8p586paam:ai-agentic-video-editor","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:45:02.177Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-ai-agentic-video-editor/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T07:04:02.997Z","emptyReason":null},"readme":"Skill: AI Agentic Video Editor\n\nOwner: brajendrak00068\n\nSummary: AI agentic video editor. An autonomous AI editor for video that decomposes natural-language prompts into a planned, verified, executed sequence of edits — vi...\n\nTags: agentic-video-editor:1.0.17, ai-agentic-editor:1.0.17, ai-agentic-video-editor:1.0.17, ai-dubbing:1.0.17, ai-video-editor:1.0.22, audio-cleanup:1.0.22, autonomous-video-editing:1.0.17, background-removal:1.0.17, background-replacement:1.0.17, brand-kit:1.0.22, caption-translation:1.0.17, captions:1.0.22, chroma-key:1.0.22, export:1.0.22, latest:1.0.22, markers:1.0.17, motion-graphics:1.0.22, motion-tracking:1.0.17, multi-cam:1.0.22, multilingual-video:1.0.17, natural-language-video-editing:1.0.17, object-removal:1.0.17, ocr:1.0.17, openclaw-skill:1.0.22, privacy-redaction:1.0.22, profanity-cleanup:1.0.17, slideshow:1.0.17, stabilization:1.0.17, thumbnail:1.0.22, title-cards:1.0.17, transitions:1.0.17, vertical-video:1.0.22, video:1.0.22, viral-clips:1.0.22\n\nVersion history:\n\nv1.0.22 | 2026-10-02T11:59:42.638Z | user\n\nUpdate docs and API parity\n\nv1.0.21 | 2026-06-01T19:21:38.153Z | user\n\nfix: correct signup URL (studio.livecore.ai), jobId format (digits, not task_-prefixed), and max-length (3h) in docs.\n\nv1.0.20 | 2026-06-01T18:59:38.385Z | user\n\nRepublish: refresh listing (same prompt-first autonomous-editor contract; usable from any MCP client incl. Hermes via levea-mcp-server).\n\nv1.0.19 | 2026-05-25T05:57:55.455Z | user\n\nDocs: surface editorial montage assembly (shot discovery + sequencing) under Assemble; disambiguate vertical montage.\n\nv1.0.18 | 2026-05-25T05:44:33.115Z | user\n\nDocs refresh: all 12 layer types; added blend modes, scene lighting, LUFS audio, caption typography, LUT/vignette color; corrected background-blur / ramp-curve / beat-cut claims to match shipped behavior.\n\nv1.0.17 | 2026-05-17T08:49:14.814Z | user\n\nNarrow translation claim to 30+ Latin-script languages. Caption rendering currently ships Latin-script font coverage only; CJK / Arabic / Devanagari rendering is on the roadmap. Avoids over-promising in the README.\n\nv1.0.16 | 2026-05-17T08:47:31.262Z | user\n\nSurface translation features (previously undocumented): caption translation in 100+ languages with timing preserved, and AI dubbing — auto-read transcript, translate, synthesize voiceover in target language with auto-calibrated speaking rate.\n\nv1.0.15 | 2026-05-17T08:41:17.752Z | user\n\nExpand capability surface to cover all shipped features. New in README: transitions (fade/slide/wipe/iris/zoom/whip pan/cross dissolve), video stabilization, reverse playback, title cards, profanity cleanup, audio crossfade, slideshow generation, semantic background replacement, color preset library, blend modes, video noise reduction, markers (chapters/ads/censorship), and expanded VFX/shape/word-animation lists.\n\nv1.0.14 | 2026-05-17T08:33:25.421Z | user\n\nObject removal is shipped, not roadmap. Promote it from a roadmap line to a supported capability (AI segmentation + temporally consistent video inpainting) in both the prompt-recipe table and the capability list.\n\nv1.0.13 | 2026-05-17T07:59:43.066Z | user\n\nRestore the full-brief example to a fenced text code block — rendering as plain prose blurred it into the surrounding paragraphs and lost the 'this is the prompt' callout effect.\n\nv1.0.12 | 2026-05-17T07:51:51.930Z | user\n\nBrief example renders as paragraph\n\nv1.0.11 | 2026-05-17T07:49:06.858Z | user\n\nFull-brief example shows only the prompt (curl removed)\n\nv1.0.10 | 2026-05-17T07:46:04.312Z | user\n\nBeyond one-liners section promoted to top\n\nv1.0.9 | 2026-05-17T07:43:22.412Z | user\n\nAdded goals/briefs section: direct commands, watch-and-propose mode, full multi-step briefs\n\nv1.0.8 | 2026-05-17T07:41:02.295Z | user\n\nAdded OCR (caption-safe reframe, on-screen text), AI background removal, background blur, object removal roadmap\n\nv1.0.7 | 2026-05-17T07:35:29.135Z | user\n\nCorrected URLs: API api.livecore.ai, Studio studio.livecor.ai\n\nv1.0.6 | 2026-05-17T07:31:07.799Z | user\n\nBeta disclaimers across README and SKILL.md; agent confirms before mutating edits\n\nv1.0.5 | 2026-05-17T07:28:09.301Z | user\n\nSurface only autonomous_edit; one-tool UX\n\nv1.0.4 | 2026-05-17T07:21:57.965Z | user\n\nExpanded features: 19 prompt examples, 8 use-case verticals; 3-hour video support\n\nv1.0.3 | 2026-05-17T07:17:41.173Z | user\n\nTrimmed README to features-only; removed internal architecture sections\n\nv1.0.2 | 2026-05-17T06:56:36.458Z | user\n\nTightened IP exposure: redacted specific model names, internal class names, dimensions; brand rename Livecore -> Levea\n\nv1.0.1 | 2026-05-17T06:30:49.677Z | user\n\nComprehensive README: 4-tier intelligence stack, 6 perception models, agent loop, full capability surface\n\nv1.0.0 | 2026-05-17T04:47:54.610Z | user\n\nInitial release: agentic AI video editor\n\nArchive index:\n\nArchive v1.0.22: 4 files, 14392 bytes\n\nFiles: README.md (13946b), skill-card.md (1982b), SKILL.md (15133b), _meta.json (143b)\n\nFile v1.0.22:SKILL.md\n\n---\nname: ai_agentic_video_editor\ndescription: AI agentic video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.0\nlicense: MIT\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - LEVEA_API_URL\n        - LEVEA_API_KEY\n      bins:\n        - curl\n        - jq\n    primaryEnv: LEVEA_API_KEY\n    envVars:\n      - name: LEVEA_API_URL\n        required: true\n        description: Base URL for the Levea API, for example https://api.livecore.ai. Do not use the studio URL or the /api/v1/misc/editor route.\n      - name: LEVEA_API_KEY\n        required: true\n        description: OpenClaw API key generated from the Studio app at https://livecore.ai/.\n    skillKey: openclaw_ai_video_editor\n    homepage: https://github.com/brajendrak00068/openclaw-ai-video-editor#readme\n---\n\n# Levea Agentic Video Editor for OpenClaw\n\nA full agentic video editing surface. Send a prompt and get a planned, verified, executed edit. The autonomous editor chooses its own internal tools, applies safety gates, exports when needed, and returns the final scene/video result.\n\nUse this skill when the user asks for OpenClaw video editing, AI video editing, natural-language video edits, viral clips, TikTok videos, Instagram Reels, YouTube Shorts, auto captions, subtitles, chroma key, green screen removal, background removal, B-roll, motion tracking, motion graphics, multi-cam editing, smart jump cuts, silence cleanup, audio cleanup, voiceover, music generation, object blur / hide, face blur, privacy redaction, beat sync, brand kits, thumbnails, style presets, vertical video, safe-zone repair, final delivery checks, export presets, multi-platform export, or MP4 export.\n\n> **Beta**: This skill is in beta and outputs can be wrong. Before executing any mutating edit on user content, describe the planned edit and request explicit confirmation from the user. For destructive or irreversible workflows, pass `requirePlanApproval: true` so the editor halts after planning and the user can approve before execution.\n\n## Endpoint\n\n`POST {LEVEA_API_URL}/api/v1/misc/openclaw/v1/execute`\n\nAuth: `Authorization: Bearer {LEVEA_API_KEY}`\n\nCreate an account and generate the OpenClaw API key in Studio: `https://livecore.ai/`.\nUse `https://api.livecore.ai` for `LEVEA_API_URL`; Studio is only for signup, login, and key management.\n\n> `LEVEA_API_URL` / `LEVEA_API_KEY` are canonical. The legacy `ADSCENE_API_URL` / `ADSCENE_API_KEY` names are still accepted as a silent fallback for backward compatibility.\n\nAccepts either single-shot JSON (default) or SSE (`Accept: text/event-stream` or `?stream=true`).\n\nRequest body:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": { ... },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { /* optional client scene; server-side committed scene wins if newer */ }\n}\n```\n\n## How you use it\n\nEvery edit goes through one tool: **`autonomous_edit`**. Pass a natural-language description in `params.prompt`. The agent classifies the intent, decomposes into atomic steps, plans, executes through safety gates, and verifies the result. There are no other tools the caller needs to learn.\n\n```bash\ncurl -sS -X POST \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Make this a TikTok-ready viral clip: vertical reframe, add bold captions, remove silences, and apply motion tracking to the speaker.\"\n    },\n    \"project_id\": \"my-project\"\n  }'\n```\n\nBehind a single `autonomous_edit` call the agent can compose any of:\n\n**Read / inspect**\n- Inspect the timeline structure, layer properties, and current scene state\n- Run computer-vision analysis on frames (object/face/scene detection)\n- Query the transcript with keyword, semantic, or timestamp-window search\n- Pull video intelligence (narrative peaks, speaker diarization, sentiment, pacing)\n- Search the asset gallery (videos, images, audio) by type, duration, name\n- Poll async job status; introspect property schemas\n\n**Structural editing**\n- Insert / update / replace / delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)\n- Trim, split, retime layers (slow-mo 0.5×, fast-forward 2×, freeze-frame)\n- Smart jump cuts, filler-word cuts, silence cleanup, low-energy segment removal\n- Reposition on the timeline, sequence layers, snap to transcript\n- Multi-cam sync and angle switching by pacing, speaker priority, or shot size\n- Heal timeline gaps, normalize audio, reconcile durations (pre-export safety pass)\n- Multi-step undo / redo\n\n**Visual editing**\n- Color grading (brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves)\n- Procedural VFX shaders: smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, telomere/corrosion, portal\n- Chroma key (green / blue screen) with similarity, smoothness, spill controls; luma / alpha / depth masks\n- Geometric clip shapes (circle, dome, star, hexagon, …)\n- Crop (absolute or edge-based), 3D rotation + perspective\n- Glow, shadow, inner shadow, gradient fills, text gradients\n- Vertical reframe (9:16) and vertical-reframe montage\n- Split screen (top/bottom, left/right, picture-in-picture)\n- Branding overlays and brand kits (logo / watermark / colors / fonts / voice) from gallery, project brand settings, or AI-generated; brand-kit limits match Studio billing: Free none, Starter 1, Creator+ unlimited\n- Motion / face tracking with dynamic zoom-follow\n- Object hide / object blur, selective face blur, privacy redaction, safe-zone repair\n\n**Captions & text**\n- Auto-generate captions from transcript\n- Style captions with built-in templates or an AI director that picks/generates a custom template at runtime\n- Motion graphics: kinetic captions, lower thirds, stat callouts, charts, comparison overlays, concept-icon Lottie layers\n- Curved text paths (circle, wave, custom SVG)\n- Per-word entrance / exit animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave, plus matching exits)\n- Lottie animation playback control\n\n**Audio**\n- Clean audio: remove silences, breaths, filler words; word-level mute or cut\n- Profanity cleanup: mute, bleep, or cut flagged words\n- Auto-ducking on speech detection (sidechain music vs voice)\n- Mix / normalize / denoise / EQ (bass boost, vocal clarity, warm, bright)\n- Sync external master audio to video (offset, mute camera audio)\n- Beat / kick-drum-synced cuts (provide `beat_times` or `bpm`)\n- Add SFX, generate music (mood / genre / BPM), generate voiceover (TTS or cloned voice)\n- Render waveform visualizers (bars, wave, circular)\n\n**Async generation**\n- AI video / B-roll — duration + aspect ratio\n- AI images — single or batch at timestamps\n- AI music — prompt + duration + mood + genre + BPM\n- AI voiceover — TTS or cloned voice library\n- Auto-thumbnail extraction or AI-generated thumbnail variants\n- Face blur (all faces or background-only)\n- Image edit (generative instruction-based)\n\n**High-level kits** (each is a single canonical action that orchestrates many underlying edits)\n- `APPLY_VIRAL_KIT` — vertical reframe + captions + silence removal + motion tracking + emphasis\n- `APPLY_CINEMATIC_DIRECTOR` — energy analysis + dynamic zooms + cinematic color grade + mood-based camera moves\n- `APPLY_EMPHASIS_SYSTEM` — keyword detection + scaling / glow / pulse coordinated with captions\n- `OPTIMIZE_PACING` — filler-word + silence + low-energy segment removal for retention\n\n**Export**\n- `EXPORT_VIDEO` — render to MP4 (resolution / codec / quality tier)\n- `EXPORT_PRESET` — platform / codec / aspect-ratio presets with safe-zone repair\n- `FINAL_DELIVERY_CHECK` — verify safe zones, timeline integrity, captions, media, and export readiness\n- `GENERATE_VIRAL_CLIPS` — auto-segment short-form clips packaged as ZIP\n- `GENERATE_MULTI_PLATFORM` — TikTok + Reels + Shorts + YouTube + Instagram aspect ratios in one pass\n\n## Auto-export follow-up\n\nAfter an authoritatively **verified mutating** `autonomous_edit` call, if the changed scene was durably committed and the agent did not already queue an export, the route fires one automatically as a second run. The final response carries `videoUrl` (when ready) or `jobId` (for polling). Partial, unverified, conflicted, read-only, and conversational calls do NOT trigger auto-export.\n\n## Optional input parameters (parity with the in-product editor)\n\nPass any of these inside `params` (or at the top level of the body) to drive advanced features:\n\n- `prompt` — required on every call (the natural-language edit description)\n- `workingMemory` — durable working-memory snapshot. Re-send to resume after `awaiting_approval`\n- `requirePlanApproval` — `true` makes the agent stop after planning and emit `awaiting_approval`; resume with the same workingMemory + an approval prompt (`\"yes\"`, `\"approve\"`, `\"do it\"`, …)\n- `attachedImages` — array of base64 screenshots / reference images\n- `flaggedIssues` — array of strings describing specific problems the user wants fixed\n- `captionTemplatePreset`, `captionTemplateMode` — style preset routing for caption generation\n- `brandId`, `projectBrandId` — optional brand-kit selection for colors, fonts, logo, grade bias, and voice\n- `core_only` (also accepted via `?core_only=true`) — return a minimal scene shape (rendering-only, no debug fields)\n- `assets` — additional asset descriptors to make available to the agent\n\n## Response shapes\n\n### JSON (default)\n\n```json\n{\n  \"type\": \"success\" | \"partial_success\",\n  \"tool\": \"<tool-name>\",\n  \"success\": true,\n  \"status\": \"completed\" | \"failed\" | \"awaiting_approval\",\n  \"scene\": { /* updated scene */ },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"1234567\",\n  \"viral_clips\": [ /* clip metadata if generated */ ],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [ /* queued background jobs */ ],\n  \"pendingAsyncJobs\": [ /* in-flight job status */ ],\n  \"workflowStepsDetailed\": [ /* every executed step */ ],\n  \"workflowSummary\": { \"title\": \"...\", \"summary\": \"...\" },\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"committedToProjectScene\": true,\n  \"processingTime\": 12.3,\n  \"message\": \"Same as reply\",\n  \"workingMemory\": { /* return this in the next call to resume approval-paused runs */ }\n}\n```\n\nFailure response (HTTP 4xx/5xx):\n\n```json\n{ \"success\": false, \"error\": \"...\", \"code\": \"MISSING_PROMPT\" | \"EXECUTION_ERROR\" }\n```\n\n### SSE (`Accept: text/event-stream` or `?stream=true`)\n\nThe same event stream the in-product editor uses. Notable event types:\n- `heartbeat` — every 15s, keeps the connection alive\n- `status` — phase transitions (`request_received`, `runtime_start`, …)\n- `mode_select` — `{ mode: \"qa\" | \"action\" }`\n- `thinking`, `tool_call`, `tool_result` — per-step reasoning visibility\n- `background_job_completed` — async job finished (B-roll, viral clips, …)\n- `workflow_completed` — main brain loop done, verification may continue\n- `success` / `partial_success` — final terminal payload (same shape as JSON above)\n- `error` — terminal failure\n\n## Async job lifecycle\n\nGeneration actions (`generate_*`, `EXPORT_VIDEO`) return immediately with a `jobId` in `activeTasks` / `pendingAsyncJobs`. Poll status with:\n\n```\nGET {LEVEA_API_URL}/api/v1/misc/openclaw/v1/jobs/{jobId}\nAuthorization: Bearer {LEVEA_API_KEY}\n```\n\nResponse:\n```json\n{\n  \"success\": true,\n  \"jobId\": \"1234567\",\n  \"status\": \"queued\" | \"processing\" | \"completed\" | \"failed\",\n  \"progress\": 0.74,\n  \"message\": \"Rendering frame 142 of 192\",\n  \"result\": { /* artifact URLs / clip metadata on completion */ },\n  \"error\": null,\n  \"createdAt\": \"...\",\n  \"updatedAt\": \"...\"\n}\n```\n\nTo pull async-generated content into the timeline once jobs settle, the agent uses `APPLY_PENDING` internally — `autonomous_edit` callers don't need to manage this, but direct callers can issue an `autonomous_edit` prompt like `\"apply any pending generated content\"` to harvest.\n\n## Plan approval flow\n\nIf you pass `requirePlanApproval: true`, the agent stops after planning and the response carries `status: \"awaiting_approval\"` + a populated `workingMemory`. To proceed, call again with:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": {\n    \"prompt\": \"yes\",\n    \"workingMemory\": { /* the workingMemory from the previous response */ }\n  }\n}\n```\n\nAccepted approval phrases: `yes`, `y`, `approve`, `approved`, `go`, `proceed`, `go ahead`, `do it`, `confirm`.\n\n## Safety, verification, and limits\n\nEvery run flows through three deterministic gates (`ActionPermissionGate`, `ArchitectureControlPlane`, `EditorSafetyPolicy`). Destructive actions (`CLEAR`, mass deletes) require explicit confirmation params. Verification runs after execution and may trigger up to 2 repair loops; failures surface in `verificationPassed: false` + `verificationIssues[]`. Concurrent identical requests for the same `(user, project, prompt, scene fingerprint)` are deduplicated server-side.\n\nRate-limited per API key. Processing times vary: read-only ~1–3s, structural edits ~3–10s, async generation 30s–5min per artifact, viral-clip / multi-platform exports several minutes.\n\n## Supported formats\n\n- **Video in**: MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs)\n- **Image in**: JPG, PNG, WebP\n- **Audio in**: MP3, WAV, M4A, AAC (or extracted from video)\n- **Output**: MP4 (export), ZIP (viral clips / multi-platform bundles)\n- **Max video length**: up to ~3 hours per asset (plan-dependent); sync edits and async generation both supported\n- **Export caps**: same as Studio billing — Free 720p with Levea watermark, Starter 1080p with no watermark, Creator / Studio / Enterprise 4K with no watermark\n- **Canvas resolution**: 1080p or 4K recommended while editing; final export is capped by the active plan\n\n## Example: end-to-end viral-clip generation\n\n```bash\n# 1) Kick off the viral-clip pipeline (auto-export follow-up queues rendering)\ncurl -sS -X POST \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Generate 5 viral clips, 15-30 seconds each, focused on the most engaging moments. Add bold captions, vertical reframe, remove silences.\"\n    },\n    \"project_id\": \"my-project\"\n  }' | tee /tmp/result.json | jq -r '.jobId // .activeTasks[0].intent.job_id'\n\n# 2) Poll job status until done\nJOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)\nwhile true; do\n  STATUS=$(curl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n    -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq -r '.status')\n  echo \"Status: $STATUS\"\n  [ \"$STATUS\" = \"completed\" ] || [ \"$STATUS\" = \"failed\" ] && break\n  sleep 5\ndone\n\n# 3) Fetch the final artifact URL(s)\ncurl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq '.result'\n```\n\nFile v1.0.22:README.md\n\n<!-- GENERATED FROM readme-src/README.template.md — DO NOT EDIT THIS FILE DIRECTLY.\n     Edit readme-src/README.template.md + readme-src/variants.json, then run:\n         node readme-src/build-readmes.mjs -->\n\n# AI Agentic Video Editor\n\n> **The agentic production environment for video.** Levea combines probabilistic multimodal intelligence with a deterministic production harness to plan, execute, verify, and revise complete video edits from natural-language instructions.\n\n[![ClawHub Skill](https://img.shields.io/badge/ClawHub-skill-blue)](https://clawhub.ai/skills/ai-agentic-video-editor)\n[![Plugin](https://img.shields.io/badge/ClawHub-plugin-green)](https://clawhub.ai/plugins/openclaw-ai-video-editor)\n\n> **Product Distinction:** Unlike one-shot video generators, Levea maintains an editable project containing the timeline, assets, layout, animation, audio, brand rules, and delivery requirements. Generative models become tools inside the workflow—not the owner of the workflow.\n\n---\n\n## 🧠 System Architecture: Probabilistic Intelligence + Deterministic Video-Production Harness\n\nLevea applies the agentic system pattern to video: probabilistic reasoning operating through typed tools, persistent state, deterministic execution, and automated verification.\n\n```text\n               Creative Intent + Source Media\n                             │\n                             ▼\n         Probabilistic Multimodal Intelligence (Frontier Models)\n                              │\n                              ▼\n               CanonicalActionIR (179 Typed Actions)\n                              │\n                              ▼\n                    CanonicalPlanCompiler\n                              │\n                ┌─────────────┴─────────────┐\n                ▼                           ▼\n          Workflow DAG                   Scene IR\n    (Task Dependencies & Gating)   (Timeline & Layer Hierarchy)\n                └─────────────┬─────────────┘\n                              │\n                              ▼\n          Deterministic Video-Production Harness\n              ├── Perception Engine (Face Tracking, Active Speaker, Shot Cuts)\n              ├── Timeline and Scene Graph (Tracks, Layers, Geometry)\n              ├── Media Operators (Silence Cuts, Slip/Slide, Ripple, Split-Screen)\n              ├── Caption & Typography Engine (39 MSDF Fonts, 39 Templates, Kinetic Word Sync)\n              ├── Animation & Motion Physics (Damped Spring Solvers, 17 Blend Modes)\n              ├── Audio Mastering (EBU R128 Loudness, Google Cloud TTS, Auto-Duck)\n              ├── Composition & Asset Execution\n              │   ├── HyperFrames — procedural charts, audio waveforms, cards, 3D\n              │   ├── Vulkan/WebGPU — GPU shaders, primitives, final compositing\n              │   ├── Lottie — authored vector animations\n              │   └── Veo / Imagen 3 — generated supporting media\n              ├── Gated Executor (gatedExecute Atomic Mutations)\n              ├── Project Versioning (Immutable Scene History)\n              └── Export Pipeline (Hardware-Accelerated / Vulkan MP4)\n                              │\n                              ▼\n              Verification → Bounded Repair → Export\n```\n\n### 1. The Probabilistic Multimodal Intelligence Layer\nLevea’s planning layer combines frontier multimodal models and reasoning models with domain-specific editing policies, structured media representations, and constrained tool execution. This layer operates probabilistically to handle high-level creative synthesis:\n*   **Planning & Layout Intents:** Translating raw prompts, transcripts, and visual assets into a structured, executable task graph.\n*   **Linguistic & Semantic Segmenting:** Running part-of-speech analysis to divide spoken lines dynamically into natural phrase breaks, setup eyebrow clauses, and punchline highlights.\n*   **Model-Agnostic Orchestration:** Serving as a flexible, model-agnostic orchestration layer across frontier models (such as Gemini, Claude, and OpenAI) and specialized media-generation models.\n\n### 2. The Typed Edit Graph / Media IR\nThe strategic core of Levea is its intermediate representation (IR)—a structured, serializable Abstract Syntax Tree (the Scene Graph) representing your editing state. This Typed Edit Graph is the foundation of Levea's editing moat, enabling:\n*   **Editability & Replayability:** Re-rendering and modifying specific elements without needing to regenerate the entire video from scratch.\n*   **Project Versioning & Diffs:** Enabling Git-like, non-destructive timeline commits and seamless Undo/Redo cycles.\n*   **Model Portability & Verification:** Decoupling the creative model's intent from the final render, allowing automated safety verifications before compiling.\n\n### 3. The Deterministic Video-Production Harness\nA common misconception is to define a \"harness\" too narrowly as only the renderer. A true harness is the entire deterministic software environment that surrounds the AI model, giving its probabilistic reasoning persistent state, structured tools, automated verification, and repeatable execution:\n*   **Timeline and Scene Graph:** Maintains the state-of-truth and track-relative alignments.\n*   **Media Operators:** Standardized, repeatable functions to cut silences, sync multi-cam tracks, and crop visual frames.\n*   **Caption and Layout Engine:** Advanced text shaping (`cosmic-text` / HarfBuzz) and real-time bounding box constraints (avoiding faces and social media safe zones).\n*   **Animation System & Renderer (Vulkan / WebGPU):** Computes smooth, 60 FPS velocity-proportional motion blur speed-streaks (`velocity.rs`) and compiles hardware-accelerated layouts.\n*   **Validators & Versioning:** Structural verification loops that run final safe-zone checks and track timeline versioning.\n*   **Export Pipeline:** Handles multi-platform packaging (FFmpeg, NVENC, H.264) for final delivery.\n\n---\n\n## Operating Model Comparison\n\n| Workflow Aspect | Traditional Editing | Levea Agentic Production |\n| :--- | :--- | :--- |\n| **User Interaction** | Human directly manipulates the timeline | Agent manipulates a typed project on the user’s behalf |\n| **Workflow Coordination** | User coordinates individual, isolated tools | Agent plans and orchestrates the complete workflow |\n| **Primary Output** | Final exported flat file is the sole output | Editable project state and rendered media are both outputs |\n| **Quality Control** | Quality control and bounds checks are manual | Automated verification checks run before delivery |\n| **Revisions** | Revisions require manually reopening the timeline | Natural-language revisions modify persistent project state |\n\n---\n\n## Contents\n\n1. [Quickstart](#quickstart) — running in 60 seconds\n2. [What it does](#what-it-does) — say it, get it\n3. [Capability surface](#capability-surface) — the full toolset\n4. [Goals & briefs](#goals--briefs) — from one line to a full creative brief\n5. [API reference](#api-reference) — endpoints, request/response, streaming, async\n6. [Who it's for](#who-its-for) · [Safety](#safety--limits) · [Media](#supported-media)\n7. [Links & channels](#links--channels)\n\n---\n\n## Quickstart\n\nThe portable interface is the **[`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server)** MCP server — one server, every MCP client (Claude Desktop, Claude Code, Cursor, Cline, OpenClaw, Hermes), one tool surface, one backend contract, so nothing drifts per platform.\n\n**1. Get an API key** — sign up at **[livecore.ai](https://livecore.ai)** and generate an OpenClaw API key.\n\n**2. Add the MCP server** — the same `npx` line works for every MCP client:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"levea\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"levea-mcp-server\"],\n      \"env\": {\n        \"LEVEA_API_URL\": \"https://api.livecore.ai\",\n        \"LEVEA_API_KEY\": \"your-key-from-livecore.ai\"\n      }\n    }\n  }\n}\n```\n\n**3. Use it** — describe the desired outcome. Levea plans, edits, verifies, and exports the video—without requiring manual timeline work, keyframing, or plugin orchestration.\n\n### Per-client setup\n\n| Client | How |\n|---|---|\n| Claude Desktop | Add to `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| Claude Code | Run `claude mcp add levea npx -y levea-mcp-server` |\n| Cursor | Add in Settings → Features → MCP as a standard command tool |\n| Cline | Configure in settings or add to your Cline MCP servers list |\n| OpenClaw | Install via terminal: `clawhub install ai-agentic-video-editor` |\n\n---\n\n## What it does\n\nLevea produces editable, verifiable video projects in minutes rather than returning an opaque generated clip. Here are some examples of what you can accomplish:\n\n*   **TikTok / Reels Prep:** *\"Make this clip vertical, remove silences, and add bold captions.\"*\n*   **Viral Clip Batching:** *\"Turn this long video into five 15-30 second viral clips.\"*\n*   **AI Green-Screen Replacement:** *\"Key out the green screen, add a studio background, and keep the speaker centered.\"*\n*   **Contextual B-Roll Placement:** *\"Add B-roll over the product mention and duck the music under speech.\"*\n*   **Multi-Cam Angle Switching:** *\"Sync the podcast angles and cut between cameras based on the active speaker.\"*\n*   **Brand Styling:** *\"Add motion graphics, lower thirds, stat callouts, and brand colors.\"*\n*   **Compliance & Redaction:** *\"Blur background faces, hide the license plate, repair safe zones, and run a final delivery check.\"*\n\n---\n\n## Capability surface\n\nThe full toolset behind the prompt. Generative models act as engines inside Levea—not the owners of the workflow:\n\n### 🟢 Production-Ready\n*   **Timeline State & Layers** — insert, update, replace, or delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, lottie); track-relative alignments and nesting.\n*   **Caption & Text Engines** — auto-generate captions from the transcript; shape text along curved paths (circle, wave, custom SVG); dual-font visual contrast (Inter setup + Display punchline).\n*   **Audio & Music** — parametric EQ, loudness (LUFS) normalization, EQ presets, crossfades, background music loops, and auto-ducking.\n*   **Color Grading & Compositing** — LUT filters, lift/gamma/gain wheels, neural matting, chroma key, mask blocks, and vignettes.\n*   **Privacy & Compliance** — face blur, privacy redaction, and profanity muting.\n*   **High-Level Presets** — vertical reframing, viral clips generation, active-word keyword emphasis, and silence cleanup.\n\n### 🟡 Beta / Model-Dependent\n*   **AI B-Roll & Generative Media** — prompt-driven stock footage retrieval, generative voiceovers (TTS and cloned voices), and procedural image-to-video expansions.\n*   **Motion Tracking** — face-aware motion tracking and automatic zoom-follow framing.\n*   **HyperFrames & Lottie Runtimes** — data-driven procedural motion graphics and authored vector animations.\n\n### 🔴 Roadmap\n*   Content-aware object removal (AI mask + inpaint).\n*   On-screen text content OCR recognition (region detection is fully supported today).\n*   Non-Latin, CJK, and RTL caption rendering (currently optimized for Latin-ASCII scripts).\n\n---\n\n## Goals & briefs\n\n`autonomous_edit` accepts anything from a five-word command to a five-hundred-word creative brief.\n\n**1. Direct commands** — a single edit, single result. The [What it does](#what-it-does) examples above are all direct commands.\n\n**2. Open-ended goals** — hand the agent a *goal* instead of a command; it inspects the asset, then proposes a plan:\n\n```text\n\"Watch this and propose edits to make it more engaging for TikTok\"\n\"Look at the first 30 seconds and suggest 3 ways to hook the viewer\"\n\"Review this footage and propose edits to tighten the pacing\"\n```\n\nPair these with `requirePlanApproval: true` for propose-only mode — the agent stops after planning and waits for your approval before execution.\n\n---\n\n## API reference\n\nBase URL: `{LEVEA_API_URL}` (production: `https://api.livecore.ai`). Auth on every request:\n\n```http\nAuthorization: Bearer {LEVEA_API_KEY}\n```\n\nAll paths are under `/api/v1/misc/openclaw`. For complete internal schemas, payload contracts, deduplication rules, and response objects, please refer to **[AGENTS.md](./AGENTS.md)**.\n\n### Core endpoints\n\n| Verb | Path | What it does |\n|---|---|---|\n| `POST` | `/v1/execute` | Primary endpoint. Executes a prompt and returns the results. |\n| `POST` | `/v1/execute_streaming` | SSE stream of step-by-step progress updates. |\n| `POST` | `/v1/queue-edit` | Enqueues background render or generation jobs. |\n| `GET`  | `/v1/jobs/{jobId}` | Polls async job or render statuses. |\n\n### Progressive Execution Visibility (SSE Streaming)\n\nThe `/v1/execute_streaming` endpoint returns a Server-Sent Events (SSE) stream of structured events representing the editor's live execution progress. These events expose useful API concepts:\n\n*   **`plan_step`:** Details the structured task list compiled by the DAG layout planner.\n*   **`progress`:** Numeric execution progress percentage.\n*   **`decision_summary`:** Concise structural rationale behind tool selections.\n*   **`execution_update`:** Specific real-time updates of running media operators.\n\n---\n\n## Links & channels\n\n| Asset | Link |\n|---|---|\n| Studio & API keys | [livecore.ai](https://livecore.ai/) |\n| API base | `https://api.livecore.ai` |\n| npm package | [`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server) |\n| GitHub Repository | [agentic-ai-video-production](https://github.com/brajendrak00068/agentic-ai-video-production) |\n\n**Support** — setup help, integration questions, or issue reports: `brajendrak00068@gmail.com`\n\nFile v1.0.22:_meta.json\n\n{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"ai-agentic-video-editor\",\n  \"version\": \"1.0.22\",\n  \"publishedAt\": 1790942382638\n}\n\nFile v1.0.22:skill-card.md\n\n## Description:\n\nPlans, applies, verifies, and exports video edits from natural-language requests through the Levea editing service.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[brajendrak00068](https://clawhub.ai/user/brajendrak00068)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nVideo creators and editors use this skill to turn natural-language requests into planned edits, captions, short clips, and video exports in Levea.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Video project context, prompts, media references, and job data are sent to the Levea API.\n\nMitigation: Use the skill only when sharing that content with Levea is acceptable.\n\nRisk: Automated edits can alter or remove content unexpectedly.\n\nMitigation: Review the planned edits and require explicit approval before important or destructive changes.\n\nRisk: Exports and queued generation jobs may incur costs or take time.\n\nMitigation: Confirm export costs and review queued jobs before proceeding.\n\nRisk: The optional README setup can install an unpinned MCP server version.\n\nMitigation: Pin the MCP server version when using that setup path.\n\n## Reference(s):\n\n- [AI Agentic Video Editor on ClawHub](https://clawhub.ai/brajendrak00068/skills/ai-agentic-video-editor)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Video export links]\n\n**Output Format:** [JSON edit summaries and scene results, with export links or job IDs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Exports may be delivered asynchronously as MP4 videos or ZIP bundles; poll job status for pending results.]\n\n## Skill Version(s):\n\n1.0.22 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.21: 4 files, 19202 bytes\n\nFiles: README.md (25291b), skill-card.md (2777b), SKILL.md (14675b), _meta.json (143b)\n\nFile v1.0.21:SKILL.md\n\n---\nname: ai_agentic_video_editor\ndescription: AI agentic video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - ADSCENE_API_URL\n        - ADSCENE_API_KEY\n      bins:\n        - curl\n        - jq\n    primaryEnv: ADSCENE_API_KEY\n    envVars:\n      - name: ADSCENE_API_URL\n        required: true\n        description: Base URL for the Levea API, for example https://api.livecore.ai. Do not use the studio URL or the /api/v1/misc/editor route.\n      - name: ADSCENE_API_KEY\n        required: true\n        description: OpenClaw API key generated from the Studio app at https://studio.livecore.ai/.\n    skillKey: openclaw_ai_video_editor\n    homepage: https://github.com/brajendrak00068/openclaw-ai-video-editor#readme\n---\n\n# Levea Agentic Video Editor for OpenClaw\n\nA full agentic video editing surface. Send a prompt and get a planned, verified, executed edit. The autonomous editor chooses its own internal tools, applies safety gates, exports when needed, and returns the final scene/video result.\n\nUse this skill when the user asks for OpenClaw video editing, AI video editing, natural-language video edits, viral clips, TikTok videos, Instagram Reels, YouTube Shorts, auto captions, subtitles, chroma key, green screen removal, background removal, B-roll, motion tracking, motion graphics, multi-cam editing, smart jump cuts, silence cleanup, audio cleanup, voiceover, music generation, object blur / hide, face blur, privacy redaction, beat sync, brand kits, thumbnails, style presets, vertical video, safe-zone repair, final delivery checks, export presets, multi-platform export, or MP4 export.\n\n> **Beta**: This skill is in beta and outputs can be wrong. Before executing any mutating edit on user content, describe the planned edit and request explicit confirmation from the user. For destructive or irreversible workflows, pass `requirePlanApproval: true` so the editor halts after planning and the user can approve before execution.\n\n## Endpoint\n\n`POST {ADSCENE_API_URL}/api/v1/misc/openclaw/v1/execute`\n\nAuth: `Authorization: Bearer {ADSCENE_API_KEY}`\n\nCreate an account and generate the OpenClaw API key in Studio: `https://studio.livecore.ai/`.\nUse `https://api.livecore.ai` for `ADSCENE_API_URL`; Studio is only for signup, login, and key management.\n\nAccepts either single-shot JSON (default) or SSE (`Accept: text/event-stream` or `?stream=true`).\n\nRequest body:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": { ... },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { /* optional client scene; server-side committed scene wins if newer */ }\n}\n```\n\n## How you use it\n\nEvery edit goes through one tool: **`autonomous_edit`**. Pass a natural-language description in `params.prompt`. The agent classifies the intent, decomposes into atomic steps, plans, executes through safety gates, and verifies the result. There are no other tools the caller needs to learn.\n\n```bash\ncurl -sS -X POST \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Make this a TikTok-ready viral clip: vertical reframe, add bold captions, remove silences, and apply motion tracking to the speaker.\"\n    },\n    \"project_id\": \"my-project\"\n  }'\n```\n\nBehind a single `autonomous_edit` call the agent can compose any of:\n\n**Read / inspect**\n- Inspect the timeline structure, layer properties, and current scene state\n- Run computer-vision analysis on frames (object/face/scene detection)\n- Query the transcript with keyword, semantic, or timestamp-window search\n- Pull video intelligence (narrative peaks, speaker diarization, sentiment, pacing)\n- Search the asset gallery (videos, images, audio) by type, duration, name\n- Poll async job status; introspect property schemas\n\n**Structural editing**\n- Insert / update / replace / delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)\n- Trim, split, retime layers (slow-mo 0.5×, fast-forward 2×, freeze-frame)\n- Smart jump cuts, filler-word cuts, silence cleanup, low-energy segment removal\n- Reposition on the timeline, sequence layers, snap to transcript\n- Multi-cam sync and angle switching by pacing, speaker priority, or shot size\n- Heal timeline gaps, normalize audio, reconcile durations (pre-export safety pass)\n- Multi-step undo / redo\n\n**Visual editing**\n- Color grading (brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves)\n- Procedural VFX shaders: smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, telomere/corrosion, portal\n- Chroma key (green / blue screen) with similarity, smoothness, spill controls; luma / alpha / depth masks\n- Geometric clip shapes (circle, dome, star, hexagon, …)\n- Crop (absolute or edge-based), 3D rotation + perspective\n- Glow, shadow, inner shadow, gradient fills, text gradients\n- Vertical reframe (9:16) and vertical-reframe montage\n- Split screen (top/bottom, left/right, picture-in-picture)\n- Branding overlays and brand kits (logo / watermark / colors / fonts / voice) from gallery, project brand settings, or AI-generated\n- Motion / face tracking with dynamic zoom-follow\n- Object hide / object blur, selective face blur, privacy redaction, safe-zone repair\n\n**Captions & text**\n- Auto-generate captions from transcript\n- Style captions with built-in templates or an AI director that picks/generates a custom template at runtime\n- Motion graphics: kinetic captions, lower thirds, stat callouts, charts, comparison overlays, concept-icon Lottie layers\n- Curved text paths (circle, wave, custom SVG)\n- Per-word entrance / exit animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave, plus matching exits)\n- Lottie animation playback control\n\n**Audio**\n- Clean audio: remove silences, breaths, filler words; word-level mute or cut\n- Profanity cleanup: mute, bleep, or cut flagged words\n- Auto-ducking on speech detection (sidechain music vs voice)\n- Mix / normalize / denoise / EQ (bass boost, vocal clarity, warm, bright)\n- Sync external master audio to video (offset, mute camera audio)\n- Beat / kick-drum-synced cuts (provide `beat_times` or `bpm`)\n- Add SFX, generate music (mood / genre / BPM), generate voiceover (TTS or cloned voice)\n- Render waveform visualizers (bars, wave, circular)\n\n**Async generation**\n- AI video / B-roll — duration + aspect ratio\n- AI images — single or batch at timestamps\n- AI music — prompt + duration + mood + genre + BPM\n- AI voiceover — TTS or cloned voice library\n- Auto-thumbnail extraction or AI-generated thumbnail variants\n- Face blur (all faces or background-only)\n- Image edit (generative instruction-based)\n\n**High-level kits** (each is a single canonical action that orchestrates many underlying edits)\n- `APPLY_VIRAL_KIT` — vertical reframe + captions + silence removal + motion tracking + emphasis\n- `APPLY_CINEMATIC_DIRECTOR` — energy analysis + dynamic zooms + cinematic color grade + mood-based camera moves\n- `APPLY_EMPHASIS_SYSTEM` — keyword detection + scaling / glow / pulse coordinated with captions\n- `OPTIMIZE_PACING` — filler-word + silence + low-energy segment removal for retention\n\n**Export**\n- `EXPORT_VIDEO` — render to MP4 (resolution / codec / quality tier)\n- `EXPORT_PRESET` — platform / codec / aspect-ratio presets with safe-zone repair\n- `FINAL_DELIVERY_CHECK` — verify safe zones, timeline integrity, captions, media, and export readiness\n- `GENERATE_VIRAL_CLIPS` — auto-segment short-form clips packaged as ZIP\n- `GENERATE_MULTI_PLATFORM` — TikTok + Reels + Shorts + YouTube + Instagram aspect ratios in one pass\n\n## Auto-export follow-up\n\nAfter any **mutating** `autonomous_edit` call, if the scene was actually changed and the agent did not already queue an export, the route fires one automatically as a second run. The final response carries `videoUrl` (when ready) or `jobId` (for polling). Read-only and conversational `autonomous_edit` calls do NOT trigger auto-export.\n\n## Optional input parameters (parity with the in-product editor)\n\nPass any of these inside `params` (or at the top level of the body) to drive advanced features:\n\n- `prompt` — required on every call (the natural-language edit description)\n- `workingMemory` — durable working-memory snapshot. Re-send to resume after `awaiting_approval`\n- `requirePlanApproval` — `true` makes the agent stop after planning and emit `awaiting_approval`; resume with the same workingMemory + an approval prompt (`\"yes\"`, `\"approve\"`, `\"do it\"`, …)\n- `attachedImages` — array of base64 screenshots / reference images\n- `flaggedIssues` — array of strings describing specific problems the user wants fixed\n- `captionTemplatePreset`, `captionTemplateMode` — style preset routing for caption generation\n- `brandId`, `projectBrandId` — optional brand-kit selection for colors, fonts, logo, grade bias, and voice\n- `core_only` (also accepted via `?core_only=true`) — return a minimal scene shape (rendering-only, no debug fields)\n- `assets` — additional asset descriptors to make available to the agent\n\n## Response shapes\n\n### JSON (default)\n\n```json\n{\n  \"type\": \"success\" | \"partial_success\",\n  \"tool\": \"<tool-name>\",\n  \"success\": true,\n  \"status\": \"completed\" | \"failed\" | \"awaiting_approval\",\n  \"scene\": { /* updated scene */ },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"1234567\",\n  \"viral_clips\": [ /* clip metadata if generated */ ],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [ /* queued background jobs */ ],\n  \"pendingAsyncJobs\": [ /* in-flight job status */ ],\n  \"workflowStepsDetailed\": [ /* every executed step */ ],\n  \"workflowSummary\": { \"title\": \"...\", \"summary\": \"...\" },\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"committedToProjectScene\": true,\n  \"processingTime\": 12.3,\n  \"message\": \"Same as reply\",\n  \"workingMemory\": { /* return this in the next call to resume approval-paused runs */ }\n}\n```\n\nFailure response (HTTP 4xx/5xx):\n\n```json\n{ \"success\": false, \"error\": \"...\", \"code\": \"MISSING_PROMPT\" | \"EXECUTION_ERROR\" }\n```\n\n### SSE (`Accept: text/event-stream` or `?stream=true`)\n\nThe same event stream the in-product editor uses. Notable event types:\n- `heartbeat` — every 15s, keeps the connection alive\n- `status` — phase transitions (`request_received`, `runtime_start`, …)\n- `mode_select` — `{ mode: \"qa\" | \"action\" }`\n- `thinking`, `tool_call`, `tool_result` — per-step reasoning visibility\n- `background_job_completed` — async job finished (B-roll, viral clips, …)\n- `workflow_completed` — main brain loop done, verification may continue\n- `success` / `partial_success` — final terminal payload (same shape as JSON above)\n- `error` — terminal failure\n\n## Async job lifecycle\n\nGeneration actions (`generate_*`, `EXPORT_VIDEO`) return immediately with a `jobId` in `activeTasks` / `pendingAsyncJobs`. Poll status with:\n\n```\nGET {ADSCENE_API_URL}/api/v1/misc/openclaw/v1/jobs/{jobId}\nAuthorization: Bearer {ADSCENE_API_KEY}\n```\n\nResponse:\n```json\n{\n  \"success\": true,\n  \"jobId\": \"1234567\",\n  \"status\": \"queued\" | \"processing\" | \"completed\" | \"failed\",\n  \"progress\": 0.74,\n  \"message\": \"Rendering frame 142 of 192\",\n  \"result\": { /* artifact URLs / clip metadata on completion */ },\n  \"error\": null,\n  \"createdAt\": \"...\",\n  \"updatedAt\": \"...\"\n}\n```\n\nTo pull async-generated content into the timeline once jobs settle, the agent uses `APPLY_PENDING` internally — `autonomous_edit` callers don't need to manage this, but direct callers can issue an `autonomous_edit` prompt like `\"apply any pending generated content\"` to harvest.\n\n## Plan approval flow\n\nIf you pass `requirePlanApproval: true`, the agent stops after planning and the response carries `status: \"awaiting_approval\"` + a populated `workingMemory`. To proceed, call again with:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": {\n    \"prompt\": \"yes\",\n    \"workingMemory\": { /* the workingMemory from the previous response */ }\n  }\n}\n```\n\nAccepted approval phrases: `yes`, `y`, `approve`, `approved`, `go`, `proceed`, `go ahead`, `do it`, `confirm`.\n\n## Safety, verification, and limits\n\nEvery run flows through three deterministic gates (`ActionPermissionGate`, `ArchitectureControlPlane`, `EditorSafetyPolicy`). Destructive actions (`CLEAR`, mass deletes) require explicit confirmation params. Verification runs after execution and may trigger up to 2 repair loops; failures surface in `verificationPassed: false` + `verificationIssues[]`. Concurrent identical requests for the same `(user, project, prompt, scene fingerprint)` are deduplicated server-side.\n\nRate-limited per API key. Processing times vary: read-only ~1–3s, structural edits ~3–10s, async generation 30s–5min per artifact, viral-clip / multi-platform exports several minutes.\n\n## Supported formats\n\n- **Video in**: MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs)\n- **Image in**: JPG, PNG, WebP\n- **Audio in**: MP3, WAV, M4A, AAC (or extracted from video)\n- **Output**: MP4 (export), ZIP (viral clips / multi-platform bundles)\n- **Max video length**: up to ~3 hours per asset (plan-dependent); sync edits and async generation both supported\n- **Recommended resolution**: 1080p or 4K; canvas is configurable per project\n\n## Example: end-to-end viral-clip generation\n\n```bash\n# 1) Kick off the viral-clip pipeline (auto-export follow-up queues rendering)\ncurl -sS -X POST \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Generate 5 viral clips, 15-30 seconds each, focused on the most engaging moments. Add bold captions, vertical reframe, remove silences.\"\n    },\n    \"project_id\": \"my-project\"\n  }' | tee /tmp/result.json | jq -r '.jobId // .activeTasks[0].intent.job_id'\n\n# 2) Poll job status until done\nJOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)\nwhile true; do\n  STATUS=$(curl -sS \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n    -H \"Authorization: Bearer $ADSCENE_API_KEY\" | jq -r '.status')\n  echo \"Status: $STATUS\"\n  [ \"$STATUS\" = \"completed\" ] || [ \"$STATUS\" = \"failed\" ] && break\n  sleep 5\ndone\n\n# 3) Fetch the final artifact URL(s)\ncurl -sS \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" | jq '.result'\n```\n\nFile v1.0.21:README.md\n\n<!-- GENERATED FROM readme-src/README.template.md — DO NOT EDIT THIS FILE DIRECTLY.\n     Edit readme-src/README.template.md + readme-src/variants.json, then run:\n         node readme-src/build-readmes.mjs -->\n\n# AI Agentic Video Editor\n\n> **An autonomous agentic video editor.** Send a sentence. Get a finished video. No timelines, no keyframes, no plugin chains.\n\n[![ClawHub Skill](https://img.shields.io/badge/ClawHub-skill-blue)](https://clawhub.ai/skills/ai-agentic-video-editor)\n[![Plugin](https://img.shields.io/badge/ClawHub-plugin-green)](https://clawhub.ai/plugins/openclaw-ai-video-editor)\n\n> **Beta.** The agent can make mistakes. Preview every output before publishing or sharing. For high-stakes or irreversible edits, pass `requirePlanApproval: true` so the agent stops after planning and waits for your approval before anything runs.\n\n---\n\n## Contents\n\n1. [Quickstart](#quickstart) — running in 60 seconds\n2. [What it does](#what-it-does) — say it, get it\n3. [Capability surface](#capability-surface) — the full toolset\n4. [Goals & briefs](#goals--briefs) — from one line to a full creative brief\n5. [API reference](#api-reference) — endpoints, request/response, streaming, async\n6. [Who it's for](#who-its-for) · [vs. legacy editors](#vs-legacy-editors) · [Safety](#safety--limits) · [Media](#supported-media)\n7. [Links & channels](#links--channels)\n\n---\n\n## Quickstart\n\nThe portable interface is the **[`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server)** MCP server — one server, every MCP client (Claude Desktop, Claude Code, Cursor, Cline, OpenClaw, Hermes), one tool surface, one backend contract, so nothing drifts per platform.\n\n**1. Get an API key** — sign up at **[studio.livecore.ai](https://studio.livecore.ai)** and generate an OpenClaw API key.\n\n**2. Add the MCP server** — the same `npx` line works for every MCP client:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"levea\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"levea-mcp-server\"],\n      \"env\": {\n        \"LEVEA_API_URL\": \"https://api.livecore.ai\",\n        \"LEVEA_API_KEY\": \"your-key-from-studio.livecore.ai\"\n      }\n    }\n  }\n}\n```\n\n**3. Use it** — say to your AI: *\"Use the levea tool to generate 5 viral clips from this video, add captions, reframe vertical.\"* The agent picks the tool, fills the prompt; the editor plans → executes → exports.\n\n### Per-client setup\n\n| Client | How |\n|---|---|\n| Claude Desktop / Cursor / Cline | Add the `levea` block above to `mcpServers` — see the [`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server) docs |\n| Claude Code | `claude mcp add levea -e LEVEA_API_URL=https://api.livecore.ai -e LEVEA_API_KEY=... -- npx -y levea-mcp-server` |\n| OpenClaw | This ClawHub listing (chat-native) **or** `openclaw mcp add levea --command \"npx -y levea-mcp-server\" --env LEVEA_API_URL=https://api.livecore.ai --env LEVEA_API_KEY=...` |\n| Hermes | Register `levea-mcp-server` as an MCP server in your Hermes config |\n\n> **This listing on ClawHub:** `clawhub install ai-agentic-video-editor`\n\nEvery client calls the **same backend** — the MCP server, this ClawHub listing, and every other surface share one tool contract.\n\n### Two hosts — don't confuse them\n\n| Host | Use |\n|---|---|\n| **https://api.livecore.ai** | Functional API. Set as `LEVEA_API_URL`. The client appends `/api/v1/misc/openclaw/v1/execute` automatically — never put a full path here. |\n| **https://studio.livecore.ai** | API-key portal (UI). Get your key here. Do **not** use as `LEVEA_API_URL`. |\n\n> Env vars are `LEVEA_API_URL` / `LEVEA_API_KEY`.\n\n### Tools the AI sees\n\n**One editing entry point. Everything else is typed state-management and polling** — so integrators can build full editing experiences through one API key instead of mixing JWT and MCP.\n\n| Group | Tools |\n|---|---|\n| **Edit** (one entry point, 3 variants) | `autonomous_edit` (primary, JSON) · `autonomous_edit_streaming` (SSE — per-step progress) · `queue_edit` (async fire-and-forget) |\n| Job / task polling | `check_job_status` · `check_task_status` · `get_active_task` |\n| Caption templates | `list_caption_templates` · `apply_caption_template` · `save_caption_template` · `save_current_caption_template` · `delete_caption_template` (41 builtin + your saved) |\n| Brand kits | `list_brand_kits` · `get_brand_kit` · `create_brand_kit` · `update_brand_kit` · `delete_brand_kit` (palette · fonts · logo · voice · gradeBias · enforcement) |\n| Projects | `list_projects` · `get_project` · `create_project` · `delete_project` |\n| Assets | `asset_upload_url` (signed PUT) · `list_assets` · `delete_asset` · `transcribe_asset` |\n| Diagnostics | `editor_health` |\n\n**No edit shims** (`add_captions`, `generate_viral_clips`, …) and no `editor_execute` escape hatch. The backend's planner is the specialist — fragmenting the editing surface encourages calling LLMs to second-guess the planner and lose multi-step intent. State-management tools (brand / project / asset / caption-template CRUD) aren't editing, so they don't fragment intent — they just give integrators typed access.\n\n→ For agent-integration details (schemas, async semantics, error handling, plan approval), see **[AGENTS.md](https://github.com/brajendrak00068/openclaw-ai-video-editor/blob/main/AGENTS.md)**.\n\n---\n\n## What it does\n\nSay it in plain language; the agent plans and finishes the edit.\n\n| You ask | It does |\n|---|---|\n| \"Turn this into 5 viral clips with captions and vertical reframe\" | Picks the best moments, cuts, captions, reframes, exports |\n| \"Cut a 60-second highlight from this 2-hour podcast\" | Identifies narrative peaks, trims, packages with captions |\n| \"Make this TikTok-ready\" | Vertical 9:16 reframe + captions + silence removal + emphasis kit |\n| \"Export for TikTok, Reels, Shorts, YouTube, and Instagram\" | One pass, all aspect ratios in one bundle |\n| \"Replace the green screen with a beach, keep the speaker centered\" | Chroma key + background composite + motion tracking in one call |\n| \"Remove the background — no green screen\" | AI background removal via alpha matte (any footage) |\n| \"Swap my background for a city skyline — no green screen\" | AI matte removes the subject cleanly, then composites the new background behind |\n| \"Remove all silences and filler words, add background music\" | Cleans the audio track, adds ducked music under speech |\n| \"Auto-zoom on whoever's talking\" | Active-speaker detection + dynamic zoom-follow framing |\n| \"Caption this and highlight every time they say 'launch'\" | Auto-captions + keyword emphasis (scaling / glow / pulse) |\n| \"Find every clip where Alex appears\" | Cross-asset face identity search |\n| \"Add narration in a cloned voice over the intro\" | Voice cloning + TTS overlay + auto-ducking |\n| \"Caption this Hormozi-style with karaoke word highlighting\" | Word-synced karaoke captions — active word fills + underlines in time with speech |\n| \"Generate B-roll over the product mention\" | AI B-roll generation + placement at the right timestamp |\n| \"Color grade this like a Netflix doc\" | Color grading with cinematic preset |\n| \"Slow-mo the climax, freeze on the reveal\" | Speed change (slow-mo / fast-forward) + freeze-frame |\n| \"Reframe to vertical but don't crop the lower-third captions\" | Caption-safe 9:16 reframe (detects on-screen text regions and reframes around them) |\n| \"Pull the key stats from this and animate them as charts\" | Transcript-driven charts + stat-callout motion graphics |\n| \"Sync these 3 camera angles and cut between them on the active speaker\" | Multi-cam sync + automatic angle switching |\n| \"Blur the license plates and bleep the swearing\" | Privacy redaction + profanity cleanup |\n\n---\n\n## Capability surface\n\nThe full toolset behind the prompt. Everything below is reachable from natural language — mix and match in a single sentence.\n\n### 🔍 Read & inspect\n- **Scene state** — timeline / layer / scene structure, schema introspection\n- **Search** — asset gallery (type, duration, name); transcript (keyword, semantic, timestamp)\n- **Vision** — CV frame analysis (object, face, scene) from the upload-time shot index; on-screen text-region detection (locates chyrons / lower-thirds / burned-in captions so reframing avoids covering them)\n- **Intelligence** — narrative peaks, speaker diarization, sentiment, pacing\n- **Jobs** — async job status polling\n\n### ✂️ Structural editing\n- **Layers** — insert / update / replace / delete (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)\n- **Timing** — trim, split, retime (slow-mo 0.5×, fast-forward 2×, freeze-frame), reverse, stabilize, denoise\n- **Arrange** — reposition, sequence, snap to transcript word boundaries\n- **Assemble** — multi-cam sync + automatic angle switching, montage assembly (shot discovery + sequencing from source footage), slideshow generation, chapter markers, SRT import\n- **Safety** — gap healing, audio normalize, duration reconcile (pre-export pass), multi-step undo / redo\n\n### 🎬 Visual editing\n- **Color grade** — brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves, LUT / film-look presets, vignette, chromatic aberration\n- **VFX shaders** — smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, corrosion, portal\n- **Composite** — chroma key, AI background removal (alpha matte), masking (luma / alpha / depth, with boolean multi-mask)\n- **Blend & opacity** — 17 blend modes (multiply, screen, overlay, color dodge / burn, difference, hue / saturation / color / luminosity, additive) + per-layer & group opacity\n- **Shape & transform** — clip shapes (circle, dome, star, hexagon, polygon), crop, 3D rotation / perspective, glow, shadow, gradient fills\n- **Keyframe** — animate any layer property over time (position, scale, rotation, opacity, color, effect parameters)\n- **Lighting** — up to 8 scene lights illuminating 3D-transformed layers\n- **Reframe & layout** — caption-safe vertical reframe (9:16) + vertical montage, split screen (top/bottom, L/R, PiP, grid)\n- **Track** — motion / face tracking with zoom-follow, branding overlays\n\n### 📊 Motion graphics & data viz\n*30+ production-grade animated graphics:*\n- **Data** — transcript-driven charts (bar, line, pie), stat callouts, animated counters\n- **Lower-thirds & cards** — lower-thirds, title / chapter cards\n- **Diagrams** — flowcharts, timelines, geo callouts\n- **CTAs** — animated subscribe / call-to-action buttons\n\n### 💬 Captions & text\n- **Generate** — auto-captions from the transcript\n- **Style** — built-in templates, or an AI director that picks/generates one at runtime\n- **Animate** — per-word animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave — each with a matching exit)\n- **Typography** — crisp scalable glyphs (MSDF; English / Latin-ASCII), stroke / outline, drop shadow, gradient fill, background pill / box, per-word karaoke fill + underline\n- **Shape** — curved text paths (circle, wave, custom SVG), Lottie playback control\n\n### 🎵 Audio\n- **Clean up** — remove silences, breaths, filler words; word-level mute/cut\n- **Mix** — auto-duck (sidechain music vs voice), loudness (LUFS) normalize + true-peak limiting, denoise, crossfade, EQ presets (bass-boost, vocal-clarity, warm, bright), stem separation\n- **Generate** — SFX, music (mood/genre/BPM), voiceover (TTS or cloned voice)\n- **Sync** — external master audio alignment (timecode / explicit offset)\n- **Visualize** — waveforms (bars, wave, circular)\n\n### 🔒 Privacy & cleanup\n- **Faces** — blur all faces or background-only\n- **Regions** — privacy redaction (blur / cover)\n- **Language** — profanity cleanup (mute / bleep)\n- **Layout** — safe-zone repair\n\n### ✨ Async generation\n- **Video** — AI video / B-roll (duration + aspect)\n- **Images** — AI images (single or batch at timestamps), generative image edit, auto-thumbnail extraction\n- **Audio** — AI music (prompt + duration + mood + genre + BPM), AI voiceover (TTS or cloned voice library)\n\n### 🚀 High-level presets\n- **Viral** — vertical + captions + silence removal + tracking + word emphasis\n- **Cinematic director** — dynamic zooms + cinematic grade + mood camera moves\n- **Emphasis system** — keyword detection + coordinated scaling / glow / pulse\n- **Pacing optimizer** — filler + silence + low-energy removal for retention\n\n### 📦 Export\n- **MP4** — single file (resolution / codec / quality tier)\n- **Viral-clip batch** — auto-segmented short-form, packaged as a ZIP\n- **Multi-platform pack** — TikTok + Reels + Shorts + YouTube + Instagram in one pass\n\n### 🗺️ Roadmap\n- Content-aware object removal (AI mask + inpaint)\n- Reading on-screen text content (OCR recognition — region detection ships today)\n- Non-Latin / CJK / RTL caption rendering (captions currently render English / Latin-ASCII typography)\n\n---\n\n## Goals & briefs\n\n`autonomous_edit` accepts anything from a five-word command to a five-hundred-word creative brief.\n\n**1. Direct commands** — a single edit, single result. The [What it does](#what-it-does) examples above are all direct commands.\n\n**2. Open-ended goals** — hand the agent a *goal* instead of a command; it inspects the asset, then proposes a plan:\n\n```text\n\"Watch this and tell me how to make it more engaging for TikTok\"\n\"Look at the first 30 seconds and suggest 3 ways to hook the viewer\"\n\"Review this footage and propose edits to tighten the pacing\"\n```\n\nPair these with `requirePlanApproval: true` for propose-only mode — the agent stops after planning and waits for your approval (see [Plan approval](#plan-approval)).\n\n**3. Full creative briefs** — multi-step orchestrations executed end-to-end. The agent decomposes the brief into a DAG of canonical actions, plans the order, executes through safety gates, verifies each step, and exports every requested format. Use SSE to watch each step land in real time.\n\n<details>\n<summary>Example brief (~20 actions composed in one planned run)</summary>\n\n> Transform this video into a viral social media documentary. Start by trimming the first 3 seconds and last 5 seconds to remove dead air. Apply a cinematic color grade with warm tones and high contrast. Generate auto-captions with bold yellow text and black outline, positioned bottom center. Add a dynamic zoom-in on the main subject during the first 10 seconds. Insert 3 contextual b-roll clips where the speaker mentions visual concepts. Apply face tracking to keep the subject centered when converting to vertical 9:16 for TikTok and Reels. Add an upbeat background track that matches the energy, with auto-ducking when the speaker talks. Remove all silence gaps longer than 0.5 seconds. Apply a subtle vignette. Add my logo watermark top-right at 80% opacity. Generate a custom thumbnail from the most expressive frame with bold \"MUST WATCH\" text. Create an animated subscribe button that appears at 5 seconds and pulses. Add whoosh SFX for transitions. Apply noise reduction. Split at 30 seconds to insert a 2-second transition. Add animated counter overlays for key statistics. Blur background faces for privacy. Export in 1080p for YouTube plus optimized TikTok, Reels, and Shorts versions with platform-specific aspect ratios.\n\n</details>\n\nNo timeline UI, no per-step API calls, no glue code on your side.\n\n---\n\n## API reference\n\nBase URL: `{LEVEA_API_URL}` (production: `https://api.livecore.ai`). Auth on every request:\n\n```http\nAuthorization: Bearer {LEVEA_API_KEY}\n```\n\nAll paths are under `/api/v1/misc/openclaw`.\n\n| Endpoint | Purpose |\n|---|---|\n| `POST /v1/execute` | Run `autonomous_edit` (the main entry point) |\n| `POST /v1/queue-edit` | Fire-and-forget async edit |\n| `GET  /v1/jobs/{jobId}` · `GET /v1/task-status/{taskId}` | Poll async render / generation jobs |\n| `GET  /v1/projects/{id}/active-task` | The project's in-flight task, if any |\n| `GET  /v1/tools` · `GET /v1/health` | List tool names · health check |\n| `/v1/brands` · `/v1/projects` · `/v1/assets/*` | Brand-kit / project / asset CRUD — list · get · create · update · delete |\n| `/v1/caption-templates` (+ `/apply`, `/save-current`) | Caption-template CRUD + apply |\n\nEach management group above is also exposed as a typed MCP tool (see [Tools the AI sees](#tools-the-ai-sees)).\n\n> `LEVEA_API_URL` is the bare host `https://api.livecore.ai` — not a full path, not `studio.livecore.ai`, and not the in-product `/api/v1/misc/editor/` route.\n\n### Request\n\nEvery edit goes through one tool — `autonomous_edit`. Pass a natural-language description; the agent plans, executes, verifies, and exports. No tool list to memorize, no structured params to learn.\n\n```bash\ncurl -sS -X POST \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Make this a TikTok-ready viral clip: vertical reframe, bold captions, remove silences, motion-track the speaker, and export.\"\n    },\n    \"project_id\": \"my-project\"\n  }'\n```\n\n`prompt` is the only required field. Everything else is optional:\n\n| Param | Purpose |\n|---|---|\n| `prompt` | The natural-language edit instruction (**required**) |\n| `project_id` | Reuse an existing project's scene + history |\n| `scene` | Inline scene state, as an alternative to `project_id` (round-trip the `scene` from a previous response) |\n| `video_url` | Start from a single video URL with no prior scene |\n| `assets` | Multiple input assets (the first video seeds the scene) |\n| `attachedImages` | Reference / style screenshot image URLs |\n| `flaggedIssues` | Specific problems from a prior output to fix on this pass |\n| `captionTemplatePreset` / `captionTemplateMode` | Force a named caption style + how it's applied |\n| `brandId` / `projectBrandId` | Apply a brand kit (palette · fonts · logo · voice) |\n| `requirePlanApproval` | Stop after planning and wait for approval — see [Plan approval](#plan-approval) |\n| `workingMemory` / `editedPlan` | Resume state + revised plan for the approval loop |\n\n### Response\n\n```json\n{\n  \"type\": \"success | partial_success\",\n  \"tool\": \"autonomous_edit\",\n  \"success\": true,\n  \"partial\": false,\n  \"status\": \"completed | failed | awaiting_approval\",\n  \"scene\": { },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"message\": \"Short status message\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"12345\",\n  \"viral_clips\": [ ],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [ ],\n  \"pendingAsyncJobs\": [ ],\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"quality\": {\n    \"score\": 0.94,\n    \"stepsTotal\": 7,\n    \"stepsFailed\": 0,\n    \"hasExportedMedia\": true,\n    \"mediaReachable\": true\n  },\n  \"processingTime\": 12.3,\n  \"workingMemory\": { }\n}\n```\n\n`jobId` is the numeric `task_id` (a string of digits), not a `task_`-prefixed value. `quality` is a calibrated post-run score block; `partial` is the top-level partial-success flag (mirrors `type: \"partial_success\"`).\n\n### SSE streaming\n\nSet `Accept: text/event-stream` or `?stream=true`. Notable event types:\n\n| Event | Meaning |\n|---|---|\n| `heartbeat` | 15s keepalive |\n| `status` · `phase` | Phase / status transitions |\n| `thought` · `reasoning_chunk` | Per-step reasoning visibility |\n| `tool_call` · `tool_result` | Action started / finished |\n| `background_job_completed` | Async job done |\n| `success` / `partial_success` | Terminal payload |\n| `error` | Terminal failure |\n\n### Async job lifecycle\n\nGeneration actions return immediately with a `jobId`. Poll until terminal:\n\n```bash\nJOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)\nwhile true; do\n  STATUS=$(curl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n    -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq -r '.status')\n  echo \"Status: $STATUS\"\n  case \"$STATUS\" in completed|succeeded|failed|error|cancelled) break;; esac\n  sleep 5\ndone\n\ncurl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq '.result'\n```\n\n### Auto-export\n\nAfter any **mutating** tool call that changed the scene (including partial successes), if no export is already queued the route auto-fires one **synchronously** — so the response carries a real `videoUrl`. Read-only and conversational `autonomous_edit` calls do **not** trigger auto-export.\n\n### Plan approval\n\nPass `requirePlanApproval: true` to make the agent stop after planning. It returns `status: \"awaiting_approval\"` + populated `workingMemory`. Resume by sending the same `workingMemory` with an approval prompt (`yes`, `approve`, `go`, `do it`, `confirm`).\n\n---\n\n## Who it's for\n\n| Audience | What they get |\n|---|---|\n| **Creators & influencers** | Long videos → TikToks / Reels / Shorts · auto-captions · viral-clip generation · AI thumbnails |\n| **Podcasters** | Video-podcast highlights · audiograms · multi-cam editing · silence + filler-word removal |\n| **Marketers & agencies** | Ad creation at scale · social-first repurposing · brand-overlay automation · multi-platform exports |\n| **Educators & course creators** | Tutorial editing · auto-chapters · title / chapter cards · auto-captions · word-level emphasis |\n| **YouTubers** | Long-form → Shorts pipeline · thumbnail generation · intro/outro automation · chapter markers |\n| **Sales & SaaS** | Product demos · walkthrough highlights · cloned-voice narration |\n| **Event teams** | Webinar / conference highlights · multi-cam stitching · speaker spotlight reels |\n| **Faith & community** | Sermon clips for social · message highlights · multi-platform packaging |\n\n---\n\n## vs. legacy editors\n\n| | Legacy (Premiere, DaVinci, CapCut, Descript) | AI Agentic Video Editor |\n|---|---|---|\n| **Interface** | Drag, drop, keyframe by hand | One sentence; the agent does the rest |\n| **Auto-analysis on upload** | Manual scene detection + subtitles | Faces, speakers, shots, on-screen text regions, mattes detected automatically |\n| **\"Make this viral\"** | You build the workflow | Single preset — vertical + captions + silences + tracking |\n| **Cross-asset search** | Filename search | \"Find every clip where Alex appears\" across the whole library |\n| **Background replace** | Key out, find background, composite | One call |\n| **Broadcast-grade audio** | Manual loudness metering + EQ | Auto LUFS loudness-normalized + true-peak limited, music auto-ducked under speech |\n| **Editorial reasoning** | You decide the climax | Agent surfaces narrative peaks and reaction moments |\n| **Verification** | You eyeball it | Verifier runs after execution; auto-repairs on failure |\n| **Multi-platform export** | One render per ratio | TikTok + Reels + Shorts + YouTube + Instagram in one pass |\n| **Extensibility** | Plugins call external binaries | Typed tools called by name |\n\nThis isn't an editor with AI features bolted on — it's an autonomous agent that finishes the edit for you.\n\n---\n\n## Safety & limits\n\n- **Beta** — outputs can be wrong. Preview every result before sharing. For irreversible workflows, pass `requirePlanApproval: true` to inspect and approve the plan first.\n- API-key authentication on every request.\n- Destructive actions (mass deletes, clears) require explicit confirmation params.\n- Output is verified after execution; auto-repairs on failure.\n- Concurrent identical requests are deduplicated server-side.\n- Rate-limited per API key. Read-only ~1–3s · structural edits ~3–10s · async generation 30s–5min per artifact · viral-clip / multi-platform exports several minutes.\n\n---\n\n## Supported media\n\n| | Formats |\n|---|---|\n| **Video in** | MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs) |\n| **Image in** | JPG, PNG, WebP |\n| **Audio in** | MP3, WAV, M4A, AAC (or extracted from video) |\n| **Output** | MP4 (export), ZIP (viral clips / multi-platform bundles) |\n| **Max video length** | Up to **3 hours** per asset (plan-dependent); sync edits and async generation both supported |\n| **Recommended resolution** | 1080p or 4K; canvas configurable per project |\n\n---\n\n## Links & channels\n\n| Channel | Identifier / link |\n|---|---|\n| npm (MCP server) | [`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server) |\n| MCP Registry | `io.github.brajendrak00068/levea-mcp-server` ([registry](https://registry.modelcontextprotocol.io/v0/servers?search=levea-mcp-server)) |\n| ClawHub plugin | [`openclaw-ai-video-editor`](https://clawhub.ai/plugins/openclaw-ai-video-editor) |\n| ClawHub skill (agentic) | [ai-agentic-video-editor](https://clawhub.ai/skills/ai-agentic-video-editor) |\n| ClawHub skill (Levea brand) | [levea-ai-video-editor](https://clawhub.ai/skills/levea-ai-video-editor) |\n| Sign up + API keys | [studio.livecore.ai](https://studio.livecore.ai/) |\n| API base | `https://api.livecore.ai` |\n\n> Versions aren't pinned here — `npx -y levea-mcp-server` and the ClawHub listing always pull the latest, and the linked npm / ClawHub pages show the current version. You never need a specific number.\n\n**Support** — setup help, integration questions, or issue reports: `brajendrak00068@gmail.com`\n\n**License** — MIT\n\nFile v1.0.21:_meta.json\n\n{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"ai-agentic-video-editor\",\n  \"version\": \"1.0.21\",\n  \"publishedAt\": 1780341698153\n}\n\nFile v1.0.21:skill-card.md\n\n## Description:\n\nAI agentic video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[brajendrak00068](https://clawhub.ai/user/brajendrak00068)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators, marketers, podcasters, educators, and developers use this skill to request natural-language video edits, generate captions or clips, and export finished MP4 or ZIP deliverables through the Levea/Livecore service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Video-editing prompts, project or media metadata, and optional images or assets are sent to the Levea/Livecore service.\n\nMitigation: Use the skill only for content appropriate for that remote service, avoid sensitive media unless approved, and preview outputs before publishing or sharing.\n\nRisk: Broad autonomous edits can change user content in ways that are incorrect, unwanted, or difficult to reverse.\n\nMitigation: Require plan approval for important, destructive, or irreversible edits and review the proposed plan before execution.\n\nRisk: The documented MCP setup uses unpinned npx execution with an API key.\n\nMitigation: Pin and review the MCP package version where possible, keep the API key scoped, and rotate it if exposed.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/brajendrak00068/skills/ai-agentic-video-editor)\n- [Artifact README](artifact/README.md)\n- [Artifact skill definition](artifact/SKILL.md)\n- [Project README](https://github.com/brajendrak00068/openclaw-ai-video-editor#readme)\n- [Agent integration details](https://github.com/brajendrak00068/openclaw-ai-video-editor/blob/main/AGENTS.md)\n- [levea-mcp-server npm package](https://www.npmjs.com/package/levea-mcp-server)\n- [MCP Registry entry](https://registry.modelcontextprotocol.io/v0/servers?search=levea-mcp-server)\n- [ClawHub plugin listing](https://clawhub.ai/plugins/openclaw-ai-video-editor)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with JSON examples, shell commands, API responses, and links to generated media artifacts]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a Levea/Livecore API key and may return job IDs, video URLs, ZIP URLs, scene JSON, or streaming status events.]\n\n## Skill Version(s):\n\n1.0.21 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.20: 4 files, 18673 bytes\n\nFiles: README.md (25005b), skill-card.md (1876b), SKILL.md (14676b), _meta.json (143b)\n\nFile v1.0.20:SKILL.md\n\n---\nname: ai_agentic_video_editor\ndescription: AI agentic video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - ADSCENE_API_URL\n        - ADSCENE_API_KEY\n      bins:\n        - curl\n        - jq\n    primaryEnv: ADSCENE_API_KEY\n    envVars:\n      - name: ADSCENE_API_URL\n        required: true\n        description: Base URL for the Levea API, for example https://api.livecore.ai. Do not use the studio URL or the /api/v1/misc/editor route.\n      - name: ADSCENE_API_KEY\n        required: true\n        description: OpenClaw API key generated from the Studio app at https://studio.livecor.ai/.\n    skillKey: openclaw_ai_video_editor\n    homepage: https://github.com/brajendrak00068/openclaw-ai-video-editor#readme\n---\n\n# Levea Agentic Video Editor for OpenClaw\n\nA full agentic video editing surface. Send a prompt and get a planned, verified, executed edit. The autonomous editor chooses its own internal tools, applies safety gates, exports when needed, and returns the final scene/video result.\n\nUse this skill when the user asks for OpenClaw video editing, AI video editing, natural-language video edits, viral clips, TikTok videos, Instagram Reels, YouTube Shorts, auto captions, subtitles, chroma key, green screen removal, background removal, B-roll, motion tracking, motion graphics, multi-cam editing, smart jump cuts, silence cleanup, audio cleanup, voiceover, music generation, object blur / hide, face blur, privacy redaction, beat sync, brand kits, thumbnails, style presets, vertical video, safe-zone repair, final delivery checks, export presets, multi-platform export, or MP4 export.\n\n> **Beta**: This skill is in beta and outputs can be wrong. Before executing any mutating edit on user content, describe the planned edit and request explicit confirmation from the user. For destructive or irreversible workflows, pass `requirePlanApproval: true` so the editor halts after planning and the user can approve before execution.\n\n## Endpoint\n\n`POST {ADSCENE_API_URL}/api/v1/misc/openclaw/v1/execute`\n\nAuth: `Authorization: Bearer {ADSCENE_API_KEY}`\n\nCreate an account and generate the OpenClaw API key in Studio: `https://studio.livecor.ai/`.\nUse `https://api.livecore.ai` for `ADSCENE_API_URL`; Studio is only for signup, login, and key management.\n\nAccepts either single-shot JSON (default) or SSE (`Accept: text/event-stream` or `?stream=true`).\n\nRequest body:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": { ... },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { /* optional client scene; server-side committed scene wins if newer */ }\n}\n```\n\n## How you use it\n\nEvery edit goes through one tool: **`autonomous_edit`**. Pass a natural-language description in `params.prompt`. The agent classifies the intent, decomposes into atomic steps, plans, executes through safety gates, and verifies the result. There are no other tools the caller needs to learn.\n\n```bash\ncurl -sS -X POST \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Make this a TikTok-ready viral clip: vertical reframe, add bold captions, remove silences, and apply motion tracking to the speaker.\"\n    },\n    \"project_id\": \"my-project\"\n  }'\n```\n\nBehind a single `autonomous_edit` call the agent can compose any of:\n\n**Read / inspect**\n- Inspect the timeline structure, layer properties, and current scene state\n- Run computer-vision analysis on frames (object/face/scene detection)\n- Query the transcript with keyword, semantic, or timestamp-window search\n- Pull video intelligence (narrative peaks, speaker diarization, sentiment, pacing)\n- Search the asset gallery (videos, images, audio) by type, duration, name\n- Poll async job status; introspect property schemas\n\n**Structural editing**\n- Insert / update / replace / delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)\n- Trim, split, retime layers (slow-mo 0.5×, fast-forward 2×, freeze-frame)\n- Smart jump cuts, filler-word cuts, silence cleanup, low-energy segment removal\n- Reposition on the timeline, sequence layers, snap to transcript\n- Multi-cam sync and angle switching by pacing, speaker priority, or shot size\n- Heal timeline gaps, normalize audio, reconcile durations (pre-export safety pass)\n- Multi-step undo / redo\n\n**Visual editing**\n- Color grading (brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves)\n- Procedural VFX shaders: smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, telomere/corrosion, portal\n- Chroma key (green / blue screen) with similarity, smoothness, spill controls; luma / alpha / depth masks\n- Geometric clip shapes (circle, dome, star, hexagon, …)\n- Crop (absolute or edge-based), 3D rotation + perspective\n- Glow, shadow, inner shadow, gradient fills, text gradients\n- Vertical reframe (9:16) and vertical-reframe montage\n- Split screen (top/bottom, left/right, picture-in-picture)\n- Branding overlays and brand kits (logo / watermark / colors / fonts / voice) from gallery, project brand settings, or AI-generated\n- Motion / face tracking with dynamic zoom-follow\n- Object hide / object blur, selective face blur, privacy redaction, safe-zone repair\n\n**Captions & text**\n- Auto-generate captions from transcript\n- Style captions with built-in templates or an AI director that picks/generates a custom template at runtime\n- Motion graphics: kinetic captions, lower thirds, stat callouts, charts, comparison overlays, concept-icon Lottie layers\n- Curved text paths (circle, wave, custom SVG)\n- Per-word entrance / exit animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave, plus matching exits)\n- Lottie animation playback control\n\n**Audio**\n- Clean audio: remove silences, breaths, filler words; word-level mute or cut\n- Profanity cleanup: mute, bleep, or cut flagged words\n- Auto-ducking on speech detection (sidechain music vs voice)\n- Mix / normalize / denoise / EQ (bass boost, vocal clarity, warm, bright)\n- Sync external master audio to video (offset, mute camera audio)\n- Beat / kick-drum-synced cuts (provide `beat_times` or `bpm`)\n- Add SFX, generate music (mood / genre / BPM), generate voiceover (TTS or cloned voice)\n- Render waveform visualizers (bars, wave, circular)\n\n**Async generation**\n- AI video / B-roll — duration + aspect ratio\n- AI images — single or batch at timestamps\n- AI music — prompt + duration + mood + genre + BPM\n- AI voiceover — TTS or cloned voice library\n- Auto-thumbnail extraction or AI-generated thumbnail variants\n- Face blur (all faces or background-only)\n- Image edit (generative instruction-based)\n\n**High-level kits** (each is a single canonical action that orchestrates many underlying edits)\n- `APPLY_VIRAL_KIT` — vertical reframe + captions + silence removal + motion tracking + emphasis\n- `APPLY_CINEMATIC_DIRECTOR` — energy analysis + dynamic zooms + cinematic color grade + mood-based camera moves\n- `APPLY_EMPHASIS_SYSTEM` — keyword detection + scaling / glow / pulse coordinated with captions\n- `OPTIMIZE_PACING` — filler-word + silence + low-energy segment removal for retention\n\n**Export**\n- `EXPORT_VIDEO` — render to MP4 (resolution / codec / quality tier)\n- `EXPORT_PRESET` — platform / codec / aspect-ratio presets with safe-zone repair\n- `FINAL_DELIVERY_CHECK` — verify safe zones, timeline integrity, captions, media, and export readiness\n- `GENERATE_VIRAL_CLIPS` — auto-segment short-form clips packaged as ZIP\n- `GENERATE_MULTI_PLATFORM` — TikTok + Reels + Shorts + YouTube + Instagram aspect ratios in one pass\n\n## Auto-export follow-up\n\nAfter any **mutating** `autonomous_edit` call, if the scene was actually changed and the agent did not already queue an export, the route fires one automatically as a second run. The final response carries `videoUrl` (when ready) or `jobId` (for polling). Read-only and conversational `autonomous_edit` calls do NOT trigger auto-export.\n\n## Optional input parameters (parity with the in-product editor)\n\nPass any of these inside `params` (or at the top level of the body) to drive advanced features:\n\n- `prompt` — required on every call (the natural-language edit description)\n- `workingMemory` — durable working-memory snapshot. Re-send to resume after `awaiting_approval`\n- `requirePlanApproval` — `true` makes the agent stop after planning and emit `awaiting_approval`; resume with the same workingMemory + an approval prompt (`\"yes\"`, `\"approve\"`, `\"do it\"`, …)\n- `attachedImages` — array of base64 screenshots / reference images\n- `flaggedIssues` — array of strings describing specific problems the user wants fixed\n- `captionTemplatePreset`, `captionTemplateMode` — style preset routing for caption generation\n- `brandId`, `projectBrandId` — optional brand-kit selection for colors, fonts, logo, grade bias, and voice\n- `core_only` (also accepted via `?core_only=true`) — return a minimal scene shape (rendering-only, no debug fields)\n- `assets` — additional asset descriptors to make available to the agent\n\n## Response shapes\n\n### JSON (default)\n\n```json\n{\n  \"type\": \"success\" | \"partial_success\",\n  \"tool\": \"<tool-name>\",\n  \"success\": true,\n  \"status\": \"completed\" | \"failed\" | \"awaiting_approval\",\n  \"scene\": { /* updated scene */ },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"task_...\",\n  \"viral_clips\": [ /* clip metadata if generated */ ],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [ /* queued background jobs */ ],\n  \"pendingAsyncJobs\": [ /* in-flight job status */ ],\n  \"workflowStepsDetailed\": [ /* every executed step */ ],\n  \"workflowSummary\": { \"title\": \"...\", \"summary\": \"...\" },\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"committedToProjectScene\": true,\n  \"processingTime\": 12.3,\n  \"message\": \"Same as reply\",\n  \"workingMemory\": { /* return this in the next call to resume approval-paused runs */ }\n}\n```\n\nFailure response (HTTP 4xx/5xx):\n\n```json\n{ \"success\": false, \"error\": \"...\", \"code\": \"MISSING_PROMPT\" | \"EXECUTION_ERROR\" }\n```\n\n### SSE (`Accept: text/event-stream` or `?stream=true`)\n\nThe same event stream the in-product editor uses. Notable event types:\n- `heartbeat` — every 15s, keeps the connection alive\n- `status` — phase transitions (`request_received`, `runtime_start`, …)\n- `mode_select` — `{ mode: \"qa\" | \"action\" }`\n- `thinking`, `tool_call`, `tool_result` — per-step reasoning visibility\n- `background_job_completed` — async job finished (B-roll, viral clips, …)\n- `workflow_completed` — main brain loop done, verification may continue\n- `success` / `partial_success` — final terminal payload (same shape as JSON above)\n- `error` — terminal failure\n\n## Async job lifecycle\n\nGeneration actions (`generate_*`, `EXPORT_VIDEO`) return immediately with a `jobId` in `activeTasks` / `pendingAsyncJobs`. Poll status with:\n\n```\nGET {ADSCENE_API_URL}/api/v1/misc/openclaw/v1/jobs/{jobId}\nAuthorization: Bearer {ADSCENE_API_KEY}\n```\n\nResponse:\n```json\n{\n  \"success\": true,\n  \"jobId\": \"task_xxx\",\n  \"status\": \"queued\" | \"processing\" | \"completed\" | \"failed\",\n  \"progress\": 0.74,\n  \"message\": \"Rendering frame 142 of 192\",\n  \"result\": { /* artifact URLs / clip metadata on completion */ },\n  \"error\": null,\n  \"createdAt\": \"...\",\n  \"updatedAt\": \"...\"\n}\n```\n\nTo pull async-generated content into the timeline once jobs settle, the agent uses `APPLY_PENDING` internally — `autonomous_edit` callers don't need to manage this, but direct callers can issue an `autonomous_edit` prompt like `\"apply any pending generated content\"` to harvest.\n\n## Plan approval flow\n\nIf you pass `requirePlanApproval: true`, the agent stops after planning and the response carries `status: \"awaiting_approval\"` + a populated `workingMemory`. To proceed, call again with:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": {\n    \"prompt\": \"yes\",\n    \"workingMemory\": { /* the workingMemory from the previous response */ }\n  }\n}\n```\n\nAccepted approval phrases: `yes`, `y`, `approve`, `approved`, `go`, `proceed`, `go ahead`, `do it`, `confirm`.\n\n## Safety, verification, and limits\n\nEvery run flows through three deterministic gates (`ActionPermissionGate`, `ArchitectureControlPlane`, `EditorSafetyPolicy`). Destructive actions (`CLEAR`, mass deletes) require explicit confirmation params. Verification runs after execution and may trigger up to 2 repair loops; failures surface in `verificationPassed: false` + `verificationIssues[]`. Concurrent identical requests for the same `(user, project, prompt, scene fingerprint)` are deduplicated server-side.\n\nRate-limited per API key. Processing times vary: read-only ~1–3s, structural edits ~3–10s, async generation 30s–5min per artifact, viral-clip / multi-platform exports several minutes.\n\n## Supported formats\n\n- **Video in**: MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs)\n- **Image in**: JPG, PNG, WebP\n- **Audio in**: MP3, WAV, M4A, AAC (or extracted from video)\n- **Output**: MP4 (export), ZIP (viral clips / multi-platform bundles)\n- **Max video length**: depends on plan; soft limit ~30 min for synchronous edits, async generation handles longer\n- **Recommended resolution**: 1080p or 4K; canvas is configurable per project\n\n## Example: end-to-end viral-clip generation\n\n```bash\n# 1) Kick off the viral-clip pipeline (auto-export follow-up queues rendering)\ncurl -sS -X POST \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Generate 5 viral clips, 15-30 seconds each, focused on the most engaging moments. Add bold captions, vertical reframe, remove silences.\"\n    },\n    \"project_id\": \"my-project\"\n  }' | tee /tmp/result.json | jq -r '.jobId // .activeTasks[0].intent.job_id'\n\n# 2) Poll job status until done\nJOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)\nwhile true; do\n  STATUS=$(curl -sS \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n    -H \"Authorization: Bearer $ADSCENE_API_KEY\" | jq -r '.status')\n  echo \"Status: $STATUS\"\n  [ \"$STATUS\" = \"completed\" ] || [ \"$STATUS\" = \"failed\" ] && break\n  sleep 5\ndone\n\n# 3) Fetch the final artifact URL(s)\ncurl -sS \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" | jq '.result'\n```\n\nFile v1.0.20:README.md\n\n<!-- GENERATED FROM readme-src/README.template.md — DO NOT EDIT THIS FILE DIRECTLY.\n     Edit readme-src/README.template.md + readme-src/variants.json, then run:\n         node readme-src/build-readmes.mjs -->\n\n# AI Agentic Video Editor\n\n> **An autonomous agentic video editor.** Send a sentence. Get a finished video. No timelines, no keyframes, no plugin chains.\n\n[![ClawHub Skill](https://img.shields.io/badge/ClawHub-skill-blue)](https://clawhub.ai/skills/ai-agentic-video-editor)\n[![Plugin](https://img.shields.io/badge/ClawHub-plugin-green)](https://clawhub.ai/plugins/openclaw-ai-video-editor)\n\n> **Beta.** The agent can make mistakes. Preview every output before publishing or sharing. For high-stakes or irreversible edits, pass `requirePlanApproval: true` so the agent stops after planning and waits for your approval before anything runs.\n\n---\n\n## Contents\n\n1. [Quickstart](#quickstart) — running in 60 seconds\n2. [What it does](#what-it-does) — say it, get it\n3. [Capability surface](#capability-surface) — the full toolset\n4. [Goals & briefs](#goals--briefs) — from one line to a full creative brief\n5. [API reference](#api-reference) — endpoints, request/response, streaming, async\n6. [Who it's for](#who-its-for) · [vs. legacy editors](#vs-legacy-editors) · [Safety](#safety--limits) · [Media](#supported-media)\n7. [Links & channels](#links--channels)\n\n---\n\n## Quickstart\n\nThe portable interface is the **[`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server)** MCP server — one server, every MCP client (Claude Desktop, Claude Code, Cursor, Cline, OpenClaw, Hermes), one tool surface, one backend contract, so nothing drifts per platform.\n\n**1. Get an API key** — sign up at **[studio.livecore.ai](https://studio.livecore.ai)** and generate an OpenClaw API key.\n\n**2. Add the MCP server** — the same `npx` line works for every MCP client:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"levea\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"levea-mcp-server\"],\n      \"env\": {\n        \"LEVEA_API_URL\": \"https://api.livecore.ai\",\n        \"LEVEA_API_KEY\": \"your-key-from-studio.livecore.ai\"\n      }\n    }\n  }\n}\n```\n\n**3. Use it** — say to your AI: *\"Use the levea tool to generate 5 viral clips from this video, add captions, reframe vertical.\"* The agent picks the tool, fills the prompt; the editor plans → executes → exports.\n\n### Per-client setup\n\n| Client | How |\n|---|---|\n| Claude Desktop / Cursor / Cline | Add the `levea` block above to `mcpServers` — see the [`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server) docs |\n| Claude Code | `claude mcp add levea -e LEVEA_API_URL=https://api.livecore.ai -e LEVEA_API_KEY=... -- npx -y levea-mcp-server` |\n| OpenClaw | This ClawHub listing (chat-native) **or** `openclaw mcp add levea --command \"npx -y levea-mcp-server\" --env LEVEA_API_URL=https://api.livecore.ai --env LEVEA_API_KEY=...` |\n| Hermes | Register `levea-mcp-server` as an MCP server in your Hermes config |\n\n> **This listing on ClawHub:** `clawhub install ai-agentic-video-editor`\n\nEvery client calls the **same backend** — the MCP server, this ClawHub listing, and every other surface share one tool contract.\n\n### Two hosts — don't confuse them\n\n| Host | Use |\n|---|---|\n| **https://api.livecore.ai** | Functional API. Set as `LEVEA_API_URL`. The client appends `/api/v1/misc/openclaw/v1/execute` automatically — never put a full path here. |\n| **https://studio.livecore.ai** | API-key portal (UI). Get your key here. Do **not** use as `LEVEA_API_URL`. |\n\n> Env vars are `LEVEA_API_URL` / `LEVEA_API_KEY`.\n\n### Tools the AI sees\n\n**One editing entry point. Everything else is typed state-management and polling** — so integrators can build full editing experiences through one API key instead of mixing JWT and MCP.\n\n| Group | Tools |\n|---|---|\n| **Edit** (one entry point, 3 variants) | `autonomous_edit` (primary, JSON) · `autonomous_edit_streaming` (SSE — per-step progress) · `queue_edit` (async fire-and-forget) |\n| Job / task polling | `check_job_status` · `check_task_status` · `get_active_task` |\n| Caption templates | `list_caption_templates` · `apply_caption_template` · `save_caption_template` · `save_current_caption_template` · `delete_caption_template` (41 builtin + your saved) |\n| Brand kits | `list_brand_kits` · `get_brand_kit` · `create_brand_kit` · `update_brand_kit` · `delete_brand_kit` (palette · fonts · logo · voice · gradeBias · enforcement) |\n| Projects | `list_projects` · `get_project` · `create_project` · `delete_project` |\n| Assets | `asset_upload_url` (signed PUT) · `list_assets` · `delete_asset` · `transcribe_asset` |\n| Diagnostics | `editor_health` |\n\n**No edit shims** (`add_captions`, `generate_viral_clips`, …) and no `editor_execute` escape hatch. The backend's planner is the specialist — fragmenting the editing surface encourages calling LLMs to second-guess the planner and lose multi-step intent. State-management tools (brand / project / asset / caption-template CRUD) aren't editing, so they don't fragment intent — they just give integrators typed access.\n\n→ For agent-integration details (schemas, async semantics, error handling, plan approval), see **[AGENTS.md](https://github.com/brajendrak00068/openclaw-ai-video-editor/blob/main/AGENTS.md)**.\n\n---\n\n## What it does\n\nSay it in plain language; the agent plans and finishes the edit.\n\n| You ask | It does |\n|---|---|\n| \"Turn this into 5 viral clips with captions and vertical reframe\" | Picks the best moments, cuts, captions, reframes, exports |\n| \"Cut a 60-second highlight from this 2-hour podcast\" | Identifies narrative peaks, trims, packages with captions |\n| \"Make this TikTok-ready\" | Vertical 9:16 reframe + captions + silence removal + emphasis kit |\n| \"Export for TikTok, Reels, Shorts, YouTube, and Instagram\" | One pass, all aspect ratios in one bundle |\n| \"Replace the green screen with a beach, keep the speaker centered\" | Chroma key + background composite + motion tracking in one call |\n| \"Remove the background — no green screen\" | AI background removal via alpha matte (any footage) |\n| \"Swap my background for a city skyline — no green screen\" | AI matte removes the subject cleanly, then composites the new background behind |\n| \"Remove all silences and filler words, add background music\" | Cleans the audio track, adds ducked music under speech |\n| \"Auto-zoom on whoever's talking\" | Active-speaker detection + dynamic zoom-follow framing |\n| \"Caption this and highlight every time they say 'launch'\" | Auto-captions + keyword emphasis (scaling / glow / pulse) |\n| \"Find every clip where Alex appears\" | Cross-asset face identity search |\n| \"Add narration in a cloned voice over the intro\" | Voice cloning + TTS overlay + auto-ducking |\n| \"Caption this Hormozi-style with karaoke word highlighting\" | Word-synced karaoke captions — active word fills + underlines in time with speech |\n| \"Generate B-roll over the product mention\" | AI B-roll generation + placement at the right timestamp |\n| \"Color grade this like a Netflix doc\" | Color grading with cinematic preset |\n| \"Slow-mo the climax, freeze on the reveal\" | Speed change (slow-mo / fast-forward) + freeze-frame |\n| \"Reframe to vertical but don't crop the lower-third captions\" | Caption-safe 9:16 reframe (detects on-screen text regions and reframes around them) |\n| \"Pull the key stats from this and animate them as charts\" | Transcript-driven charts + stat-callout motion graphics |\n| \"Sync these 3 camera angles and cut between them on the active speaker\" | Multi-cam sync + automatic angle switching |\n| \"Blur the license plates and bleep the swearing\" | Privacy redaction + profanity cleanup |\n\n---\n\n## Capability surface\n\nThe full toolset behind the prompt. Everything below is reachable from natural language — mix and match in a single sentence.\n\n### 🔍 Read & inspect\n- **Scene state** — timeline / layer / scene structure, schema introspection\n- **Search** — asset gallery (type, duration, name); transcript (keyword, semantic, timestamp)\n- **Vision** — CV frame analysis (object, face, scene); on-screen text-region detection (locates chyrons / lower-thirds / burned-in captions so reframing avoids covering them)\n- **Intelligence** — narrative peaks, speaker diarization, sentiment, pacing\n- **Jobs** — async job status polling\n\n### ✂️ Structural editing\n- **Layers** — insert / update / replace / delete (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)\n- **Timing** — trim, split, retime (slow-mo 0.5×, fast-forward 2×, freeze-frame), reverse, stabilize\n- **Arrange** — reposition, sequence, snap to transcript word boundaries\n- **Assemble** — multi-cam sync + automatic angle switching, montage assembly (shot discovery + sequencing from source footage), slideshow generation, chapter markers, SRT import\n- **Safety** — gap healing, audio normalize, duration reconcile (pre-export pass), multi-step undo / redo\n\n### 🎬 Visual editing\n- **Color grade** — brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves, LUT / film-look presets, vignette, chromatic aberration\n- **VFX shaders** — smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, corrosion, portal\n- **Composite** — chroma key, AI background removal (alpha matte), masking (luma / alpha / depth, with boolean multi-mask)\n- **Blend & opacity** — 17 blend modes (multiply, screen, overlay, color dodge / burn, difference, hue / saturation / color / luminosity, additive) + per-layer & group opacity\n- **Shape & transform** — clip shapes (circle, dome, star, hexagon, polygon), crop, 3D rotation / perspective, glow, shadow, gradient fills\n- **Lighting** — up to 8 scene lights illuminating 3D-transformed layers\n- **Reframe & layout** — caption-safe vertical reframe (9:16) + vertical montage, split screen (top/bottom, L/R, PiP, grid)\n- **Track** — motion / face tracking with zoom-follow, branding overlays\n\n### 📊 Motion graphics & data viz\n*30+ production-grade animated graphics:*\n- **Data** — transcript-driven charts (bar, line, pie), stat callouts, animated counters\n- **Lower-thirds & cards** — lower-thirds, title / chapter cards\n- **Diagrams** — flowcharts, timelines, geo callouts\n- **CTAs** — animated subscribe / call-to-action buttons\n\n### 💬 Captions & text\n- **Generate** — auto-captions from the transcript\n- **Style** — built-in templates, or an AI director that picks/generates one at runtime\n- **Animate** — per-word animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave — each with a matching exit)\n- **Typography** — crisp scalable glyphs (MSDF), stroke / outline, drop shadow, gradient fill, background pill / box, per-word karaoke fill + underline\n- **Shape** — curved text paths (circle, wave, custom SVG), Lottie playback control\n\n### 🎵 Audio\n- **Clean up** — remove silences, breaths, filler words; word-level mute/cut\n- **Mix** — auto-duck (sidechain music vs voice), loudness (LUFS) normalize + true-peak limiting, denoise, crossfade, EQ presets (bass-boost, vocal-clarity, warm, bright), stem separation\n- **Generate** — SFX, music (mood/genre/BPM), voiceover (TTS or cloned voice)\n- **Sync** — external master audio alignment (timecode / explicit offset)\n- **Visualize** — waveforms (bars, wave, circular)\n\n### 🔒 Privacy & cleanup\n- **Faces** — blur all faces or background-only\n- **Regions** — privacy redaction (blur / cover)\n- **Language** — profanity cleanup (mute / bleep)\n- **Layout** — safe-zone repair\n\n### ✨ Async generation\n- **Video** — AI video / B-roll (duration + aspect)\n- **Images** — AI images (single or batch at timestamps), generative image edit, auto-thumbnail extraction\n- **Audio** — AI music (prompt + duration + mood + genre + BPM), AI voiceover (TTS or cloned voice library)\n\n### 🚀 High-level presets\n- **Viral** — vertical + captions + silence removal + tracking + word emphasis\n- **Cinematic director** — dynamic zooms + cinematic grade + mood camera moves\n- **Emphasis system** — keyword detection + coordinated scaling / glow / pulse\n- **Pacing optimizer** — filler + silence + low-energy removal for retention\n\n### 📦 Export\n- **MP4** — single file (resolution / codec / quality tier)\n- **Viral-clip batch** — auto-segmented short-form, packaged as a ZIP\n- **Multi-platform pack** — TikTok + Reels + Shorts + YouTube + Instagram in one pass\n\n### 🗺️ Roadmap\n- Content-aware object removal (AI mask + inpaint)\n- Reading on-screen text content (OCR recognition — region detection ships today)\n\n---\n\n## Goals & briefs\n\n`autonomous_edit` accepts anything from a five-word command to a five-hundred-word creative brief.\n\n**1. Direct commands** — a single edit, single result. The [What it does](#what-it-does) examples above are all direct commands.\n\n**2. Open-ended goals** — hand the agent a *goal* instead of a command; it inspects the asset, then proposes a plan:\n\n```text\n\"Watch this and tell me how to make it more engaging for TikTok\"\n\"Look at the first 30 seconds and suggest 3 ways to hook the viewer\"\n\"Review this footage and propose edits to tighten the pacing\"\n```\n\nPair these with `requirePlanApproval: true` for propose-only mode — the agent stops after planning and waits for your approval (see [Plan approval](#plan-approval)).\n\n**3. Full creative briefs** — multi-step orchestrations executed end-to-end. The agent decomposes the brief into a DAG of canonical actions, plans the order, executes through safety gates, verifies each step, and exports every requested format. Use SSE to watch each step land in real time.\n\n<details>\n<summary>Example brief (~20 actions composed in one planned run)</summary>\n\n> Transform this video into a viral social media documentary. Start by trimming the first 3 seconds and last 5 seconds to remove dead air. Apply a cinematic color grade with warm tones and high contrast. Generate auto-captions with bold yellow text and black outline, positioned bottom center. Add a dynamic zoom-in on the main subject during the first 10 seconds. Insert 3 contextual b-roll clips where the speaker mentions visual concepts. Apply face tracking to keep the subject centered when converting to vertical 9:16 for TikTok and Reels. Add an upbeat background track that matches the energy, with auto-ducking when the speaker talks. Remove all silence gaps longer than 0.5 seconds. Apply a subtle vignette. Add my logo watermark top-right at 80% opacity. Generate a custom thumbnail from the most expressive frame with bold \"MUST WATCH\" text. Create an animated subscribe button that appears at 5 seconds and pulses. Add whoosh SFX for transitions. Apply noise reduction. Split at 30 seconds to insert a 2-second transition. Add animated counter overlays for key statistics. Blur background faces for privacy. Export in 1080p for YouTube plus optimized TikTok, Reels, and Shorts versions with platform-specific aspect ratios.\n\n</details>\n\nNo timeline UI, no per-step API calls, no glue code on your side.\n\n---\n\n## API reference\n\nBase URL: `{LEVEA_API_URL}` (production: `https://api.livecore.ai`). Auth on every request:\n\n```http\nAuthorization: Bearer {LEVEA_API_KEY}\n```\n\nAll paths are under `/api/v1/misc/openclaw`.\n\n| Endpoint | Purpose |\n|---|---|\n| `POST /v1/execute` | Run `autonomous_edit` (the main entry point) |\n| `POST /v1/queue-edit` | Fire-and-forget async edit |\n| `GET  /v1/jobs/{jobId}` · `GET /v1/task-status/{taskId}` | Poll async render / generation jobs |\n| `GET  /v1/projects/{id}/active-task` | The project's in-flight task, if any |\n| `GET  /v1/tools` · `GET /v1/health` | List tool names · health check |\n| `/v1/brands` · `/v1/projects` · `/v1/assets/*` | Brand-kit / project / asset CRUD — list · get · create · update · delete |\n| `/v1/caption-templates` (+ `/apply`, `/save-current`) | Caption-template CRUD + apply |\n\nEach management group above is also exposed as a typed MCP tool (see [Tools the AI sees](#tools-the-ai-sees)).\n\n> `LEVEA_API_URL` is the bare host `https://api.livecore.ai` — not a full path, not `studio.livecore.ai`, and not the in-product `/api/v1/misc/editor/` route.\n\n### Request\n\nEvery edit goes through one tool — `autonomous_edit`. Pass a natural-language description; the agent plans, executes, verifies, and exports. No tool list to memorize, no structured params to learn.\n\n```bash\ncurl -sS -X POST \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Make this a TikTok-ready viral clip: vertical reframe, bold captions, remove silences, motion-track the speaker, and export.\"\n    },\n    \"project_id\": \"my-project\"\n  }'\n```\n\n`prompt` is the only required field. Everything else is optional:\n\n| Param | Purpose |\n|---|---|\n| `prompt` | The natural-language edit instruction (**required**) |\n| `project_id` | Reuse an existing project's scene + history |\n| `scene` | Inline scene state, as an alternative to `project_id` (round-trip the `scene` from a previous response) |\n| `video_url` | Start from a single video URL with no prior scene |\n| `assets` | Multiple input assets (the first video seeds the scene) |\n| `attachedImages` | Reference / style screenshot image URLs |\n| `flaggedIssues` | Specific problems from a prior output to fix on this pass |\n| `captionTemplatePreset` / `captionTemplateMode` | Force a named caption style + how it's applied |\n| `brandId` / `projectBrandId` | Apply a brand kit (palette · fonts · logo · voice) |\n| `requirePlanApproval` | Stop after planning and wait for approval — see [Plan approval](#plan-approval) |\n| `workingMemory` / `editedPlan` | Resume state + revised plan for the approval loop |\n\n### Response\n\n```json\n{\n  \"type\": \"success | partial_success\",\n  \"tool\": \"autonomous_edit\",\n  \"success\": true,\n  \"partial\": false,\n  \"status\": \"completed | failed | awaiting_approval\",\n  \"scene\": { },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"message\": \"Short status message\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"12345\",\n  \"viral_clips\": [ ],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [ ],\n  \"pendingAsyncJobs\": [ ],\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"quality\": {\n    \"score\": 0.94,\n    \"stepsTotal\": 7,\n    \"stepsFailed\": 0,\n    \"hasExportedMedia\": true,\n    \"mediaReachable\": true\n  },\n  \"processingTime\": 12.3,\n  \"workingMemory\": { }\n}\n```\n\n`jobId` is the numeric `task_id` (a string of digits), not a `task_`-prefixed value. `quality` is a calibrated post-run score block; `partial` is the top-level partial-success flag (mirrors `type: \"partial_success\"`).\n\n### SSE streaming\n\nSet `Accept: text/event-stream` or `?stream=true`. Notable event types:\n\n| Event | Meaning |\n|---|---|\n| `heartbeat` | 15s keepalive |\n| `status` · `phase` | Phase / status transitions |\n| `thought` · `reasoning_chunk` | Per-step reasoning visibility |\n| `tool_call` · `tool_result` | Action started / finished |\n| `background_job_completed` | Async job done |\n| `success` / `partial_success` | Terminal payload |\n| `error` | Terminal failure |\n\n### Async job lifecycle\n\nGeneration actions return immediately with a `jobId`. Poll until terminal:\n\n```bash\nJOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)\nwhile true; do\n  STATUS=$(curl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n    -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq -r '.status')\n  echo \"Status: $STATUS\"\n  case \"$STATUS\" in completed|succeeded|failed|error|cancelled) break;; esac\n  sleep 5\ndone\n\ncurl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq '.result'\n```\n\n### Auto-export\n\nAfter any **mutating** tool call that changed the scene (including partial successes), if no export is already queued the route auto-fires one **synchronously** — so the response carries a real `videoUrl`. Read-only and conversational `autonomous_edit` calls do **not** trigger auto-export.\n\n### Plan approval\n\nPass `requirePlanApproval: true` to make the agent stop after planning. It returns `status: \"awaiting_approval\"` + populated `workingMemory`. Resume by sending the same `workingMemory` with an approval prompt (`yes`, `approve`, `go`, `do it`, `confirm`).\n\n---\n\n## Who it's for\n\n| Audience | What they get |\n|---|---|\n| **Creators & influencers** | Long videos → TikToks / Reels / Shorts · auto-captions · viral-clip generation · AI thumbnails |\n| **Podcasters** | Video-podcast highlights · audiograms · multi-cam editing · silence + filler-word removal |\n| **Marketers & agencies** | Ad creation at scale · social-first repurposing · brand-overlay automation · multi-platform exports |\n| **Educators & course creators** | Tutorial editing · auto-chapters · title / chapter cards · auto-captions · word-level emphasis |\n| **YouTubers** | Long-form → Shorts pipeline · thumbnail generation · intro/outro automation · chapter markers |\n| **Sales & SaaS** | Product demos · walkthrough highlights · cloned-voice narration |\n| **Event teams** | Webinar / conference highlights · multi-cam stitching · speaker spotlight reels |\n| **Faith & community** | Sermon clips for social · message highlights · multi-platform packaging |\n\n---\n\n## vs. legacy editors\n\n| | Legacy (Premiere, DaVinci, CapCut, Descript) | AI Agentic Video Editor |\n|---|---|---|\n| **Interface** | Drag, drop, keyframe by hand | One sentence; the agent does the rest |\n| **Auto-analysis on upload** | Manual scene detection + subtitles | Faces, speakers, shots, on-screen text regions, mattes detected automatically |\n| **\"Make this viral\"** | You build the workflow | Single preset — vertical + captions + silences + tracking |\n| **Cross-asset search** | Filename search | \"Find every clip where Alex appears\" across the whole library |\n| **Background replace** | Key out, find background, composite | One call |\n| **Broadcast-grade audio** | Manual loudness metering + EQ | Auto LUFS loudness-normalized + true-peak limited, music auto-ducked under speech |\n| **Editorial reasoning** | You decide the climax | Agent surfaces narrative peaks and reaction moments |\n| **Verification** | You eyeball it | Verifier runs after execution; auto-repairs on failure |\n| **Multi-platform export** | One render per ratio | TikTok + Reels + Shorts + YouTube + Instagram in one pass |\n| **Extensibility** | Plugins call external binaries | Typed tools called by name |\n\nThis isn't an editor with AI features bolted on — it's an autonomous agent that finishes the edit for you.\n\n---\n\n## Safety & limits\n\n- **Beta** — outputs can be wrong. Preview every result before sharing. For irreversible workflows, pass `requirePlanApproval: true` to inspect and approve the plan first.\n- API-key authentication on every request.\n- Destructive actions (mass deletes, clears) require explicit confirmation params.\n- Output is verified after execution; auto-repairs on failure.\n- Concurrent identical requests are deduplicated server-side.\n- Rate-limited per API key. Read-only ~1–3s · structural edits ~3–10s · async generation 30s–5min per artifact · viral-clip / multi-platform exports several minutes.\n\n---\n\n## Supported media\n\n| | Formats |\n|---|---|\n| **Video in** | MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs) |\n| **Image in** | JPG, PNG, WebP |\n| **Audio in** | MP3, WAV, M4A, AAC (or extracted from video) |\n| **Output** | MP4 (export), ZIP (viral clips / multi-platform bundles) |\n| **Max video length** | Up to **3 hours** per asset (plan-dependent); sync edits and async generation both supported |\n| **Recommended resolution** | 1080p or 4K; canvas configurable per project |\n\n---\n\n## Links & channels\n\n| Channel | Identifier / link |\n|---|---|\n| npm (MCP server) | [`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server) |\n| MCP Registry | `io.github.brajendrak00068/levea-mcp-server` ([registry](https://registry.modelcontextprotocol.io/v0/servers?search=levea-mcp-server)) |\n| ClawHub plugin | [`openclaw-ai-video-editor`](https://clawhub.ai/plugins/openclaw-ai-video-editor) |\n| ClawHub skill (agentic) | [ai-agentic-video-editor](https://clawhub.ai/skills/ai-agentic-video-editor) |\n| ClawHub skill (Levea brand) | [levea-ai-video-editor](https://clawhub.ai/skills/levea-ai-video-editor) |\n| Sign up + API keys | [studio.livecore.ai](https://studio.livecore.ai/) |\n| API base | `https://api.livecore.ai` |\n\n> Versions aren't pinned here — `npx -y levea-mcp-server` and the ClawHub listing always pull the latest, and the linked npm / ClawHub pages show the current version. You never need a specific number.\n\n**Support** — setup help, integration questions, or issue reports: `brajendrak00068@gmail.com`\n\n**License** — MIT\n\nFile v1.0.20:_meta.json\n\n{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"ai-agentic-video-editor\",\n  \"version\": \"1.0.20\",\n  \"publishedAt\": 1780340378385\n}\n\nFile v1.0.20:skill-card.md\n\n## Description: <br>\nAI agentic video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[brajendrak00068](https://clawhub.ai/user/brajendrak00068) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal creators, developers, and agent users use this skill to turn natural-language video-editing requests into planned edits, rendered exports, clips, captions, and project updates through the Levea/OpenClaw service. It is intended for workflows where users can preview outputs before publishing. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br>\nMitigation: Review and scan skill before deployment. <br>\n\n## Reference(s): <br>\n- [ClawHub listing](https://clawhub.ai/brajendrak00068/ai-agentic-video-editor) <br>\n- [Levea MCP server](https://www.npmjs.com/package/levea-mcp-server) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown guidance with JSON and shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May produce API-authenticated editing requests, project updates, job identifiers, video URLs, MP4 exports, and ZIP bundles through the third-party service.] <br>\n\n## Skill Version(s): <br>\n1.0.20 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.19: 4 files, 19020 bytes\n\nFiles: README.md (25005b), skill-card.md (2699b), SKILL.md (14676b), _meta.json (143b)\n\nFile v1.0.19:SKILL.md\n\n---\nname: ai_agentic_video_editor\ndescription: AI agentic video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - ADSCENE_API_URL\n        - ADSCENE_API_KEY\n      bins:\n        - curl\n        - jq\n    primaryEnv: ADSCENE_API_KEY\n    envVars:\n      - name: ADSCENE_API_URL\n        required: true\n        description: Base URL for the Levea API, for example https://api.livecore.ai. Do not use the studio URL or the /api/v1/misc/editor route.\n      - name: ADSCENE_API_KEY\n        required: true\n        description: OpenClaw API key generated from the Studio app at https://studio.livecor.ai/.\n    skillKey: openclaw_ai_video_editor\n    homepage: https://github.com/brajendrak00068/openclaw-ai-video-editor#readme\n---\n\n# Levea Agentic Video Editor for OpenClaw\n\nA full agentic video editing surface. Send a prompt and get a planned, verified, executed edit. The autonomous editor chooses its own internal tools, applies safety gates, exports when needed, and returns the final scene/video result.\n\nUse this skill when the user asks for OpenClaw video editing, AI video editing, natural-language video edits, viral clips, TikTok videos, Instagram Reels, YouTube Shorts, auto captions, subtitles, chroma key, green screen removal, background removal, B-roll, motion tracking, motion graphics, multi-cam editing, smart jump cuts, silence cleanup, audio cleanup, voiceover, music generation, object blur / hide, face blur, privacy redaction, beat sync, brand kits, thumbnails, style presets, vertical video, safe-zone repair, final delivery checks, export presets, multi-platform export, or MP4 export.\n\n> **Beta**: This skill is in beta and outputs can be wrong. Before executing any mutating edit on user content, describe the planned edit and request explicit confirmation from the user. For destructive or irreversible workflows, pass `requirePlanApproval: true` so the editor halts after planning and the user can approve before execution.\n\n## Endpoint\n\n`POST {ADSCENE_API_URL}/api/v1/misc/openclaw/v1/execute`\n\nAuth: `Authorization: Bearer {ADSCENE_API_KEY}`\n\nCreate an account and generate the OpenClaw API key in Studio: `https://studio.livecor.ai/`.\nUse `https://api.livecore.ai` for `ADSCENE_API_URL`; Studio is only for signup, login, and key management.\n\nAccepts either single-shot JSON (default) or SSE (`Accept: text/event-stream` or `?stream=true`).\n\nRequest body:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": { ... },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { /* optional client scene; server-side committed scene wins if newer */ }\n}\n```\n\n## How you use it\n\nEvery edit goes through one tool: **`autonomous_edit`**. Pass a natural-language description in `params.prompt`. The agent classifies the intent, decomposes into atomic steps, plans, executes through safety gates, and verifies the result. There are no other tools the caller needs to learn.\n\n```bash\ncurl -sS -X POST \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Make this a TikTok-ready viral clip: vertical reframe, add bold captions, remove silences, and apply motion tracking to the speaker.\"\n    },\n    \"project_id\": \"my-project\"\n  }'\n```\n\nBehind a single `autonomous_edit` call the agent can compose any of:\n\n**Read / inspect**\n- Inspect the timeline structure, layer properties, and current scene state\n- Run computer-vision analysis on frames (object/face/scene detection)\n- Query the transcript with keyword, semantic, or timestamp-window search\n- Pull video intelligence (narrative peaks, speaker diarization, sentiment, pacing)\n- Search the asset gallery (videos, images, audio) by type, duration, name\n- Poll async job status; introspect property schemas\n\n**Structural editing**\n- Insert / update / replace / delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)\n- Trim, split, retime layers (slow-mo 0.5×, fast-forward 2×, freeze-frame)\n- Smart jump cuts, filler-word cuts, silence cleanup, low-energy segment removal\n- Reposition on the timeline, sequence layers, snap to transcript\n- Multi-cam sync and angle switching by pacing, speaker priority, or shot size\n- Heal timeline gaps, normalize audio, reconcile durations (pre-export safety pass)\n- Multi-step undo / redo\n\n**Visual editing**\n- Color grading (brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves)\n- Procedural VFX shaders: smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, telomere/corrosion, portal\n- Chroma key (green / blue screen) with similarity, smoothness, spill controls; luma / alpha / depth masks\n- Geometric clip shapes (circle, dome, star, hexagon, …)\n- Crop (absolute or edge-based), 3D rotation + perspective\n- Glow, shadow, inner shadow, gradient fills, text gradients\n- Vertical reframe (9:16) and vertical-reframe montage\n- Split screen (top/bottom, left/right, picture-in-picture)\n- Branding overlays and brand kits (logo / watermark / colors / fonts / voice) from gallery, project brand settings, or AI-generated\n- Motion / face tracking with dynamic zoom-follow\n- Object hide / object blur, selective face blur, privacy redaction, safe-zone repair\n\n**Captions & text**\n- Auto-generate captions from transcript\n- Style captions with built-in templates or an AI director that picks/generates a custom template at runtime\n- Motion graphics: kinetic captions, lower thirds, stat callouts, charts, comparison overlays, concept-icon Lottie layers\n- Curved text paths (circle, wave, custom SVG)\n- Per-word entrance / exit animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave, plus matching exits)\n- Lottie animation playback control\n\n**Audio**\n- Clean audio: remove silences, breaths, filler words; word-level mute or cut\n- Profanity cleanup: mute, bleep, or cut flagged words\n- Auto-ducking on speech detection (sidechain music vs voice)\n- Mix / normalize / denoise / EQ (bass boost, vocal clarity, warm, bright)\n- Sync external master audio to video (offset, mute camera audio)\n- Beat / kick-drum-synced cuts (provide `beat_times` or `bpm`)\n- Add SFX, generate music (mood / genre / BPM), generate voiceover (TTS or cloned voice)\n- Render waveform visualizers (bars, wave, circular)\n\n**Async generation**\n- AI video / B-roll — duration + aspect ratio\n- AI images — single or batch at timestamps\n- AI music — prompt + duration + mood + genre + BPM\n- AI voiceover — TTS or cloned voice library\n- Auto-thumbnail extraction or AI-generated thumbnail variants\n- Face blur (all faces or background-only)\n- Image edit (generative instruction-based)\n\n**High-level kits** (each is a single canonical action that orchestrates many underlying edits)\n- `APPLY_VIRAL_KIT` — vertical reframe + captions + silence removal + motion tracking + emphasis\n- `APPLY_CINEMATIC_DIRECTOR` — energy analysis + dynamic zooms + cinematic color grade + mood-based camera moves\n- `APPLY_EMPHASIS_SYSTEM` — keyword detection + scaling / glow / pulse coordinated with captions\n- `OPTIMIZE_PACING` — filler-word + silence + low-energy segment removal for retention\n\n**Export**\n- `EXPORT_VIDEO` — render to MP4 (resolution / codec / quality tier)\n- `EXPORT_PRESET` — platform / codec / aspect-ratio presets with safe-zone repair\n- `FINAL_DELIVERY_CHECK` — verify safe zones, timeline integrity, captions, media, and export readiness\n- `GENERATE_VIRAL_CLIPS` — auto-segment short-form clips packaged as ZIP\n- `GENERATE_MULTI_PLATFORM` — TikTok + Reels + Shorts + YouTube + Instagram aspect ratios in one pass\n\n## Auto-export follow-up\n\nAfter any **mutating** `autonomous_edit` call, if the scene was actually changed and the agent did not already queue an export, the route fires one automatically as a second run. The final response carries `videoUrl` (when ready) or `jobId` (for polling). Read-only and conversational `autonomous_edit` calls do NOT trigger auto-export.\n\n## Optional input parameters (parity with the in-product editor)\n\nPass any of these inside `params` (or at the top level of the body) to drive advanced features:\n\n- `prompt` — required on every call (the natural-language edit description)\n- `workingMemory` — durable working-memory snapshot. Re-send to resume after `awaiting_approval`\n- `requirePlanApproval` — `true` makes the agent stop after planning and emit `awaiting_approval`; resume with the same workingMemory + an approval prompt (`\"yes\"`, `\"approve\"`, `\"do it\"`, …)\n- `attachedImages` — array of base64 screenshots / reference images\n- `flaggedIssues` — array of strings describing specific problems the user wants fixed\n- `captionTemplatePreset`, `captionTemplateMode` — style preset routing for caption generation\n- `brandId`, `projectBrandId` — optional brand-kit selection for colors, fonts, logo, grade bias, and voice\n- `core_only` (also accepted via `?core_only=true`) — return a minimal scene shape (rendering-only, no debug fields)\n- `assets` — additional asset descriptors to make available to the agent\n\n## Response shapes\n\n### JSON (default)\n\n```json\n{\n  \"type\": \"success\" | \"partial_success\",\n  \"tool\": \"<tool-name>\",\n  \"success\": true,\n  \"status\": \"completed\" | \"failed\" | \"awaiting_approval\",\n  \"scene\": { /* updated scene */ },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"task_...\",\n  \"viral_clips\": [ /* clip metadata if generated */ ],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [ /* queued background jobs */ ],\n  \"pendingAsyncJobs\": [ /* in-flight job status */ ],\n  \"workflowStepsDetailed\": [ /* every executed step */ ],\n  \"workflowSummary\": { \"title\": \"...\", \"summary\": \"...\" },\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"committedToProjectScene\": true,\n  \"processingTime\": 12.3,\n  \"message\": \"Same as reply\",\n  \"workingMemory\": { /* return this in the next call to resume approval-paused runs */ }\n}\n```\n\nFailure response (HTTP 4xx/5xx):\n\n```json\n{ \"success\": false, \"error\": \"...\", \"code\": \"MISSING_PROMPT\" | \"EXECUTION_ERROR\" }\n```\n\n### SSE (`Accept: text/event-stream` or `?stream=true`)\n\nThe same event stream the in-product editor uses. Notable event types:\n- `heartbeat` — every 15s, keeps the connection alive\n- `status` — phase transitions (`request_received`, `runtime_start`, …)\n- `mode_select` — `{ mode: \"qa\" | \"action\" }`\n- `thinking`, `tool_call`, `tool_result` — per-step reasoning visibility\n- `background_job_completed` — async job finished (B-roll, viral clips, …)\n- `workflow_completed` — main brain loop done, verification may continue\n- `success` / `partial_success` — final terminal payload (same shape as JSON above)\n- `error` — terminal failure\n\n## Async job lifecycle\n\nGeneration actions (`generate_*`, `EXPORT_VIDEO`) return immediately with a `jobId` in `activeTasks` / `pendingAsyncJobs`. Poll status with:\n\n```\nGET {ADSCENE_API_URL}/api/v1/misc/openclaw/v1/jobs/{jobId}\nAuthorization: Bearer {ADSCENE_API_KEY}\n```\n\nResponse:\n```json\n{\n  \"success\": true,\n  \"jobId\": \"task_xxx\",\n  \"status\": \"queued\" | \"processing\" | \"completed\" | \"failed\",\n  \"progress\": 0.74,\n  \"message\": \"Rendering frame 142 of 192\",\n  \"result\": { /* artifact URLs / clip metadata on completion */ },\n  \"error\": null,\n  \"createdAt\": \"...\",\n  \"updatedAt\": \"...\"\n}\n```\n\nTo pull async-generated content into the timeline once jobs settle, the agent uses `APPLY_PENDING` internally — `autonomous_edit` callers don't need to manage this, but direct callers can issue an `autonomous_edit` prompt like `\"apply any pending generated content\"` to harvest.\n\n## Plan approval flow\n\nIf you pass `requirePlanApproval: true`, the agent stops after planning and the response carries `status: \"awaiting_approval\"` + a populated `workingMemory`. To proceed, call again with:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": {\n    \"prompt\": \"yes\",\n    \"workingMemory\": { /* the workingMemory from the previous response */ }\n  }\n}\n```\n\nAccepted approval phrases: `yes`, `y`, `approve`, `approved`, `go`, `proceed`, `go ahead`, `do it`, `confirm`.\n\n## Safety, verification, and limits\n\nEvery run flows through three deterministic gates (`ActionPermissionGate`, `ArchitectureControlPlane`, `EditorSafetyPolicy`). Destructive actions (`CLEAR`, mass deletes) require explicit confirmation params. Verification runs after execution and may trigger up to 2 repair loops; failures surface in `verificationPassed: false` + `verificationIssues[]`. Concurrent identical requests for the same `(user, project, prompt, scene fingerprint)` are deduplicated server-side.\n\nRate-limited per API key. Processing times vary: read-only ~1–3s, structural edits ~3–10s, async generation 30s–5min per artifact, viral-clip / multi-platform exports several minutes.\n\n## Supported formats\n\n- **Video in**: MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs)\n- **Image in**: JPG, PNG, WebP\n- **Audio in**: MP3, WAV, M4A, AAC (or extracted from video)\n- **Output**: MP4 (export), ZIP (viral clips / multi-platform bundles)\n- **Max video length**: depends on plan; soft limit ~30 min for synchronous edits, async generation handles longer\n- **Recommended resolution**: 1080p or 4K; canvas is configurable per project\n\n## Example: end-to-end viral-clip generation\n\n```bash\n# 1) Kick off the viral-clip pipeline (auto-export follow-up queues rendering)\ncurl -sS -X POST \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Generate 5 viral clips, 15-30 seconds each, focused on the most engaging moments. Add bold captions, vertical reframe, remove silences.\"\n    },\n    \"project_id\": \"my-project\"\n  }' | tee /tmp/result.json | jq -r '.jobId // .activeTasks[0].intent.job_id'\n\n# 2) Poll job status until done\nJOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)\nwhile true; do\n  STATUS=$(curl -sS \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n    -H \"Authorization: Bearer $ADSCENE_API_KEY\" | jq -r '.status')\n  echo \"Status: $STATUS\"\n  [ \"$STATUS\" = \"completed\" ] || [ \"$STATUS\" = \"failed\" ] && break\n  sleep 5\ndone\n\n# 3) Fetch the final artifact URL(s)\ncurl -sS \"$ADSCENE_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $ADSCENE_API_KEY\" | jq '.result'\n```\n\nFile v1.0.19:README.md\n\n<!-- GENERATED FROM readme-src/README.template.md — DO NOT EDIT THIS FILE DIRECTLY.\n     Edit readme-src/README.template.md + readme-src/variants.json, then run:\n         node readme-src/build-readmes.mjs -->\n\n# AI Agentic Video Editor\n\n> **An autonomous agentic video editor.** Send a sentence. Get a finished video. No timelines, no keyframes, no plugin chains.\n\n[![ClawHub Skill](https://img.shields.io/badge/ClawHub-skill-blue)](https://clawhub.ai/skills/ai-agentic-video-editor)\n[![Plugin](https://img.shields.io/badge/ClawHub-plugin-green)](https://clawhub.ai/plugins/openclaw-ai-video-editor)\n\n> **Beta.** The agent can make mistakes. Preview every output before publishing or sharing. For high-stakes or irreversible edits, pass `requirePlanApproval: true` so the agent stops after planning and waits for your approval before anything runs.\n\n---\n\n## Contents\n\n1. [Quickstart](#quickstart) — running in 60 seconds\n2. [What it does](#what-it-does) — say it, get it\n3. [Capability surface](#capability-surface) — the full toolset\n4. [Goals & briefs](#goals--briefs) — from one line to a full creative brief\n5. [API reference](#api-reference) — endpoints, request/response, streaming, async\n6. [Who it's for](#who-its-for) · [vs. legacy editors](#vs-legacy-editors) · [Safety](#safety--limits) · [Media](#supported-media)\n7. [Links & channels](#links--channels)\n\n---\n\n## Quickstart\n\nThe portable interface is the **[`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server)** MCP server — one server, every MCP client (Claude Desktop, Claude Code, Cursor, Cline, OpenClaw, Hermes), one tool surface, one backend contract, so nothing drifts per platform.\n\n**1. Get an API key** — sign up at **[studio.livecore.ai](https://studio.livecore.ai)** and generate an OpenClaw API key.\n\n**2. Add the MCP server** — the same `npx` line works for every MCP client:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"levea\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"levea-mcp-server\"],\n      \"env\": {\n        \"LEVEA_API_URL\": \"https://api.livecore.ai\",\n        \"LEVEA_API_KEY\": \"your-key-from-studio.livecore.ai\"\n      }\n    }\n  }\n}\n```\n\n**3. Use it** — say to your AI: *\"Use the levea tool to generate 5 viral clips from this video, add captions, reframe vertical.\"* The agent picks the tool, fills the prompt; the editor plans → executes → exports.\n\n### Per-client setup\n\n| Client | How |\n|---|---|\n| Claude Desktop / Cursor / Cline | Add the `levea` block above to `mcpServers` — see the [`levea-mcp-server`](https://www.npmjs.com/package/levea-mcp-server) docs |\n| Claude Code | `claude mcp add levea -e LEVEA_API_URL=https://api.livecore.ai -e LEVEA_API_KEY=... -- npx -y levea-mcp-server` |\n| OpenClaw | This ClawHub listing (chat-native) **or** `openclaw mcp add levea --command \"npx -y levea-mcp-server\" --env LEVEA_API_URL=https://api.livecore.ai --env LEVEA_API_KEY=...` |\n| Hermes | Register `levea-mcp-server` as an MCP server in your Hermes config |\n\n> **This listing on ClawHub:** `clawhub install ai-agentic-video-editor`\n\nEvery client calls the **same backend** — the MCP server, this ClawHub listing, and every other surface share one tool contract.\n\n### Two hosts — don't confuse them\n\n| Host | Use |\n|---|---|\n| **https://api.livecore.ai** | Functional API. Set as `LEVEA_API_URL`. The client appends `/api/v1/misc/openclaw/v1/execute` automatically — never put a full path here. |\n| **https://studio.livecore.ai** | API-key portal (UI). Get your key here. Do **not** use as `LEVEA_API_URL`. |\n\n> Env vars are `LEVEA_API_URL` / `LEVEA_API_KEY`.\n\n### Tools the AI sees\n\n**One editing entry point. Everything else is typed state-management and polling** — so integrators can build full editing experiences through one API key instead of mixing JWT and MCP.\n\n| Group | Tools |\n|---|---|\n| **Edit** (one entry point, 3 variants) | `autonomous_edit` (primary, JSON) · `autonomous_edit_streaming` (SSE — per-step progress) · `queue_edit` (async fire-and-forget) |\n| Job / task polling | `check_job_status` · `check_task_status` · `get_active_task` |\n| Caption templates | `list_caption_templates` · `apply_caption_template` · `save_caption_template` · `save_current_caption_template` · `delete_caption_template` (41 builtin + your saved) |\n| Brand kits | `list_brand_kits` · `get_brand_kit` · `create_brand_kit` · `update_brand_kit` · `delete_brand_kit` (palette · fonts · logo · voice · gradeBias · enforcement) |\n| Projects | `list_projects` · `get_project` · `create_project` · `delete_project` |\n| Assets | `asset_upload_url` (signed PUT) · `list_assets` · `delete_asset` · `transcribe_asset` |\n| Diagnostics | `editor_health` |\n\n**No edit shims** (`add_captions`, `generate_viral_clips`, …) and no `editor_execute` escape hatch. The backend's planner is the specialist — fragmenting the editing surface encourages calling LLMs to second-guess the planner and lose multi-step intent. State-management tools (brand / project / asset / caption-template CRUD) aren't editing, so they don't fragment intent — they just give integrators typed access.\n\n→ For agent-integration details (schemas, async semantics, error handling, plan approval), see **[AGENTS.md](https://github.com/brajendrak00068/openclaw-ai-video-editor/blob/main/AGENTS.md)**.\n\n---\n\n## What it does\n\nSay it in plain language; the agent plans and finishes the edit.\n\n| You ask | It does |\n|---|---|\n| \"Turn this into 5 viral clips with captions and vertical reframe\" | Picks the best moments, cuts, captions, reframes, exports |\n| \"Cut a 60-second highlight from this 2-hour podcast\" | Identifies narrative peaks, trims, packages with captions |\n| \"Make this TikTok-ready\" | Vertical 9:16 reframe + captions + silence removal + emphasis kit |\n| \"Export for TikTok, Reels, Shorts, YouTube, and Instagram\" | One pass, all aspect ratios in one bundle |\n| \"Replace the green screen with a beach, keep the speaker centered\" | Chroma key + background composite + motion tracking in one call |\n| \"Remove the background — no green screen\" | AI background removal via alpha matte (any footage) |\n| \"Swap my background for a city skyline — no green screen\" | AI matte removes the subject cleanly, then composites the new background behind |\n| \"Remove all silences and filler words, add background music\" | Cleans the audio track, adds ducked music under speech |\n| \"Auto-zoom on whoever's talking\" | Active-speaker detection + dynamic zoom-follow framing |\n| \"Caption this and highlight every time they say 'launch'\" | Auto-captions + keyword emphasis (scaling / glow / pulse) |\n| \"Find every clip where Alex appears\" | Cross-asset face identity search |\n| \"Add narration in a cloned voice over the intro\" | Voice cloning + TTS overlay + auto-ducking |\n| \"Caption this Hormozi-style with karaoke word highlighting\" | Word-synced karaoke captions — active word fills + underlines in time with speech |\n| \"Generate B-roll over the product mention\" | AI B-roll generation + placement at the right timestamp |\n| \"Color grade this like a Netflix doc\" | Color grading with cinematic preset |\n| \"Slow-mo the climax, freeze on the reveal\" | Speed change (slow-mo / fast-forward) + freeze-frame |\n| \"Reframe to vertical but don't crop the lower-third captions\" | Caption-safe 9:16 reframe (detects on-screen text regions and reframes around them) |\n| \"Pull the key stats from this and animate them as charts\" | Transcript-driven charts + stat-callout motion graphics |\n| \"Sync these 3 camera angles and cut between them on the active speaker\" | Multi-cam sync + automatic angle switching |\n| \"Blur the license plates and bleep the swearing\" | Privacy redaction + profanity cleanup |\n\n---\n\n## Capability surface\n\nThe full toolset behind the prompt. Everything below is reachable from natural language — mix and match in a single sentence.\n\n### 🔍 Read & inspect\n- **Scene state** — timeline / layer / scene structure, schema introspection\n- **Search** — asset gallery (type, duration, name); transcript (keyword, semantic, timestamp)\n- **Vision** — CV frame analysis (object, face, scene); on-screen text-region detection (locates chyrons / lower-thirds / burned-in captions so reframing avoids covering them)\n- **Intelligence** — narrative peaks, speaker diarization, sentiment, pacing\n- **Jobs** — async job status polling\n\n### ✂️ Structural editing\n- **Layers** — insert / update / replace / delete (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)\n- **Timing** — trim, split, retime (slow-mo 0.5×, fast-forward 2×, freeze-frame), reverse, stabilize\n- **Arrange** — reposition, sequence, snap to transcript word boundaries\n- **Assemble** — multi-cam sync + automatic angle switching, montage assembly (shot discovery + sequencing from source footage), slideshow generation, chapter markers, SRT import\n- **Safety** — gap healing, audio normalize, duration reconcile (pre-export pass), multi-step undo / redo\n\n### 🎬 Visual editing\n- **Color grade** — brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves, LUT / film-look presets, vignette, chromatic aberration\n- **VFX shaders** — smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, corrosion, portal\n- **Composite** — chroma key, AI background removal (alpha matte), masking (luma / alpha / depth, with boolean multi-mask)\n- **Blend & opacity** — 17 blend modes (multiply, screen, overlay, color dodge / burn, difference, hue / saturation / color / luminosity, additive) + per-layer & group opacity\n- **Shape & transform** — clip shapes (circle, dome, star, hexagon, polygon), crop, 3D rotation / perspective, glow, shadow, gradient fills\n- **Lighting** — up to 8 scene lights illuminating 3D-transformed layers\n- **Reframe & layout** — caption-safe vertical reframe (9:16) + vertical montage, split screen (top/bottom, L/R, PiP, grid)\n- **Track** — motion / face tracking with zoom-follow, branding overlays\n\n### 📊 Motion graphics & data viz\n*30+ production-grade animated graphics:*\n- **Data** — transcript-driven charts (bar, line, pie), stat callouts, animated counters\n- **Lower-thirds & cards** — lower-thirds, title / chapter cards\n- **Diagrams** — flowcharts, timelines, geo callouts\n- **CTAs** — animated subscribe / call-to-action buttons\n\n### 💬 Captions & text\n- **Generate** — auto-captions from the transcript\n- **Style** — built-in templates, or an AI director that picks/generates one at runtime\n- **Animate** — per-word animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave — each with a matching exit)\n- **Typography** — crisp scalable glyphs (MSDF), stroke / outline, drop shadow, gradient fill, background pill / box, per-word karaoke fill + underline\n- **Shape*\n\nArchive v1.0.18: 3 files, 17571 bytes\n\nFiles: README.md (24928b), SKILL.md (14676b), _meta.json (143b)\n\nArchive v1.0.17: 3 files, 15759 bytes\n\nFiles: README.md (22816b), SKILL.md (13890b), _meta.json (143b)\n\nArchive v1.0.16: 3 files, 15672 bytes\n\nFiles: README.md (22660b), SKILL.md (13890b), _meta.json (143b)\n\nArchive v1.0.15: 3 files, 15499 bytes\n\nFiles: README.md (22197b), SKILL.md (13890b), _meta.json (143b)\n\nArchive v1.0.14: 3 files, 14814 bytes\n\nFiles: README.md (20377b), SKILL.md (13890b), _meta.json (143b)\n\nArchive v1.0.13: 3 files, 14807 bytes\n\nFiles: README.md (20353b), SKILL.md (13890b), _meta.json (143b)","readmeExcerpt":"Skill: AI Agentic Video Editor Owner: brajendrak00068 Summary: AI agentic video editor. An autonomous AI editor for video that decomposes natural-language prompts into a planned, verified, executed sequence of edits — vi... Tags: agentic-video-editor:1.0.17, ai-agentic-editor:1.0.17, ai-agentic-video-editor:1.0.17, ai-dubbing:1.0.17, ai-video-editor:1.0.22, audio-cleanup:1.0.22, autonomous-video-editing:1.0.17, backg","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"tool\": \"autonomous_edit\",\n  \"params\": { ... },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { /* optional client scene; server-side committed scene wins if newer */ }\n}"},{"language":"bash","snippet":"curl -sS -X POST \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{"},{"language":"bash","snippet":"curl -sS -X POST \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tool\": \"autonomous_edit\",\n    \"params\": {\n      \"prompt\": \"Make this a TikTok-ready viral clip: vertical reframe, add bold captions, remove silences, and apply motion tracking to the speaker.\"\n    },\n    \"project_id\": \"my-project\"\n  }'"},{"language":"json","snippet":"{\n  \"type\": \"success\" | \"partial_success\",\n  \"tool\": \"<tool-name>\",\n  \"success\": true,\n  \"status\": \"completed\" | \"failed\" | \"awaiting_approval\",\n  \"scene\": { /* updated scene */ },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"1234567\",\n  \"viral_clips\": [ /* clip metadata if generated */ ],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [ /* queued background jobs */ ],\n  \"pendingAsyncJobs\": [ /* in-flight job status */ ],\n  \"workflowStepsDetailed\": [ /* every executed step */ ],\n  \"workflowSummary\": { \"title\": \"...\", \"summary\": \"...\" },\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"committedToProjectScene\": true,\n  \"processingTime\": 12.3,\n  \"message\": \"Same as reply\",\n  \"workingMemory\": { /* return this in the next call to resume approval-paused runs */ }\n}"},{"language":"json","snippet":"{ \"success\": false, \"error\": \"...\", \"code\": \"MISSING_PROMPT\" | \"EXECUTION_ERROR\" }"},{"language":"text","snippet":"GET {LEVEA_API_URL}/api/v1/misc/openclaw/v1/jobs/{jobId}\nAuthorization: Bearer {LEVEA_API_KEY}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: ai_agentic_video_editor\ndescription: AI agentic video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.0\nlicense: MIT\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - LEVEA_API_URL\n        - LEVEA_API_KEY\n      bins:\n        - curl\n        - jq\n    primaryEnv: LEVEA_API_KEY\n    envVars:\n      - name: LEVEA_API_URL\n        required: true\n        description: Base URL for the Levea API, for example https://api.livecore.ai. Do not use the studio URL or the /api/v1/misc/editor route.\n      - name: LEVEA_API_KEY\n        required: true\n        description: OpenClaw API key generated from the Studio app at https://livecore.ai/.\n    skillKey: openclaw_ai_video_editor\n    homepage: https://github.com/brajendrak00068/openclaw-ai-video-editor#readme\n---\n\n# Levea Agentic Video Editor for OpenClaw\n\nA full agentic video editing surface. Send a prompt and get a planned, verified, executed edit. The autonomous editor chooses its own internal tools, applies safety gates, exports when needed, and returns the final scene/video result.\n\nUse this skill when the user asks for OpenClaw video editing, AI video editing, natural-language video edits, viral clips, TikTok videos, Instagram Reels, YouTube Shorts, auto captions, subtitles, chroma key, green screen removal, background removal, B-roll, motion tracking, motion graphics, multi-cam editing, smart jump cuts, silence cleanup, audio cleanup, voiceover, music generation, object blur / hide, face blur, privacy redaction, beat sync, brand kits, thumbnails, style presets, vertical video, safe-zone repair, final delivery checks, export presets, multi-platform export, or MP4 export.\n\n> **Beta**: This skill is in beta and outputs can be wrong. Before executing any mutating edit on user content, describe the planned edit and request explicit confirmation from the user. For destructive or irreversible workflows, pass `requirePlanApproval: true` so the editor halts after planning and the user can approve before execution.\n\n## Endpoint\n\n`POST {LEVEA_API_URL}/api/v1/misc/openclaw/v1/execute`\n\nAuth: `Authorization: Bearer {LEVEA_API_KEY}`\n\nCreate an account and generate the OpenClaw API key in Studio: `https://livecore.ai/`.\nUse `https://api.livecore.ai` for `LEVEA_API_URL`; Studio is only for signup, login, and key management.\n\n> `LEVEA_API_URL` / `LEVEA_API_KEY` are canonical. The legacy `ADSCENE_API_URL` / `ADSCENE_API_KEY` names are still accepted as a silent fallback for backward compatibility.\n\nAccepts either single-shot JSON (default) or SSE (`Accept: text/event-stream` or `?stream=true`).\n\nRequest body:\n\n```json\n{\n  \"tool\": \"autonomous_edit\",\n  \"params\": { ... },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { /* optional client scene; server-side committed scene wins if newer */ }\n}\n```\n\n## How you use it\n\nEvery edit goes through one tool: **`autonomous_edit`**. Pass a natural-language description in `params.prompt`. The agent cla"},{"path":"README.md","content":"<!-- GENERATED FROM readme-src/README.template.md — DO NOT EDIT THIS FILE DIRECTLY.\n     Edit readme-src/README.template.md + readme-src/variants.json, then run:\n         node readme-src/build-readmes.mjs -->\n\n# AI Agentic Video Editor\n\n> **The agentic production environment for video.** Levea combines probabilistic multimodal intelligence with a deterministic production harness to plan, execute, verify, and revise complete video edits from natural-language instructions.\n\n[![ClawHub Skill](https://img.shields.io/badge/ClawHub-skill-blue)](https://clawhub.ai/skills/ai-agentic-video-editor)\n[![Plugin](https://img.shields.io/badge/ClawHub-plugin-green)](https://clawhub.ai/plugins/openclaw-ai-video-editor)\n\n> **Product Distinction:** Unlike one-shot video generators, Levea maintains an editable project containing the timeline, assets, layout, animation, audio, brand rules, and delivery requirements. Generative models become tools inside the workflow—not the owner of the workflow.\n\n---\n\n## 🧠 System Architecture: Probabilistic Intelligence + Deterministic Video-Production Harness\n\nLevea applies the agentic system pattern to video: probabilistic reasoning operating through typed tools, persistent state, deterministic execution, and automated verification.\n\n```text\n               Creative Intent + Source Media\n                             │\n                             ▼\n         Probabilistic Multimodal Intelligence (Frontier Models)\n                              │\n                              ▼\n               CanonicalActionIR (179 Typed Actions)\n                              │\n                              ▼\n                    CanonicalPlanCompiler\n                              │\n                ┌─────────────┴─────────────┐\n                ▼                           ▼\n          Workflow DAG                   Scene IR\n    (Task Dependencies & Gating)   (Timeline & Layer Hierarchy)\n                └─────────────┬─────────────┘\n                              │\n                              ▼\n          Deterministic Video-Production Harness\n              ├── Perception Engine (Face Tracking, Active Speaker, Shot Cuts)\n              ├── Timeline and Scene Graph (Tracks, Layers, Geometry)\n              ├── Media Operators (Silence Cuts, Slip/Slide, Ripple, Split-Screen)\n              ├── Caption & Typography Engine (39 MSDF Fonts, 39 Templates, Kinetic Word Sync)\n              ├── Animation & Motion Physics (Damped Spring Solvers, 17 Blend Modes)\n              ├── Audio Mastering (EBU R128 Loudness, Google Cloud TTS, Auto-Duck)\n              ├── Composition & Asset Execution\n              │   ├── HyperFrames — procedural charts, audio waveforms, cards, 3D\n              │   ├── Vulkan/WebGPU — GPU shaders, primitives, final compositing\n              │   ├── Lottie — authored vector animations\n              │   └── Veo / Imagen 3 — generated supporting media\n              ├── Gated Executor (gatedExecute Atomic Mutations)\n              ├── Project Version"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"ai-agentic-video-editor\",\n  \"version\": \"1.0.22\",\n  \"publishedAt\": 1790942382638\n}"},{"path":"skill-card.md","content":"## Description:\n\nPlans, applies, verifies, and exports video edits from natural-language requests through the Levea editing service.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[brajendrak00068](https://clawhub.ai/user/brajendrak00068)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nVideo creators and editors use this skill to turn natural-language requests into planned edits, captions, short clips, and video exports in Levea.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Video project context, prompts, media references, and job data are sent to the Levea API.\n\nMitigation: Use the skill only when sharing that content with Levea is acceptable.\n\nRisk: Automated edits can alter or remove content unexpectedly.\n\nMitigation: Review the planned edits and require explicit approval before important or destructive changes.\n\nRisk: Exports and queued generation jobs may incur costs or take time.\n\nMitigation: Confirm export costs and review queued jobs before proceeding.\n\nRisk: The optional README setup can install an unpinned MCP server version.\n\nMitigation: Pin the MCP server version when using that setup path.\n\n## Reference(s):\n\n- [AI Agentic Video Editor on ClawHub](https://clawhub.ai/brajendrak00068/skills/ai-agentic-video-editor)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Video export links]\n\n**Output Format:** [JSON edit summaries and scene results, with export links or job IDs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Exports may be delivered asynchronously as MP4 videos or ZIP bundles; poll job status for pending results.]\n\n## Skill Version(s):\n\n1.0.22 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"AI agentic video editor. An autonomous AI editor for video that decomposes natural-language prompts into a planned, verified, executed sequence of edits — vi... Skill: AI Agentic Video Editor Owner: brajendrak00068 Summary: AI agentic video editor. An autonomous AI editor for video that decomposes natural-language prompts into a planned, verified, executed sequence of edits — vi... Tags: agentic-video-editor:1.0.17, ai-agentic-editor:1.0.17, ai-agentic-video-editor:1.0.17, ai-dubbing:1.0.17, ai-video-editor:1.0.22, audio-cleanup:1.0.22, autonomous-video-editing:1.0.17, backg","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1544,"uniquenessScore":54,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:04:02.997Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:04:02.997Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:45:02.181Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}