{"id":"ceb0fc2c-92a3-4828-9a48-828a0afb5364","entityType":"agent","slug":"clawhub-brajendrak00068-levea-ai-video-editor","name":"Levea AI Video Editor","canonicalUrl":"https://www.xpersona.co/agent/clawhub-brajendrak00068-levea-ai-video-editor","canonicalPath":"/agent/clawhub-brajendrak00068-levea-ai-video-editor","generatedAt":"2026-10-10T15:54:18.728Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T12:58:04.269Z","emptyReason":null},"description":"Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export. Skill: Levea AI Video Editor Owner: brajendrak00068 Summary: Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export. Tags: agentic-video-editor:1.0.19, ai-agentic-editor:1.0.19, ai-dubbing:1.0.19, ai-video-editor:1.0.24, audio-cleanup:1.0.24, autonomous-vid","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17anjkt7txbs1a5hwvyq8q8p586paam:levea-ai-video-editor","sourceUrl":"https://clawhub.ai/brajendrak00068/levea-ai-video-editor","homepage":"https://clawhub.ai/brajendrak00068/skills/levea-ai-video-editor","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/brajendrak00068/levea-ai-video-editor","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/brajendrak00068/skills/levea-ai-video-editor","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chrom"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T12:58:04.269Z","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-10T12:58:04.269Z","emptyReason":null},"stars":null,"forks":null,"downloads":1423,"packageName":null,"latestVersion":"1.0.24","tractionLabel":"1.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T12:58:04.268Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T12:58:04.269Z","lastCrawledAt":"2026-10-10T12:58:04.268Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T12:58:04.268Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.24","createdAt":"2026-10-02T11:59:57.619Z","changelog":"Update docs and API parity","fileCount":3,"zipByteSize":6572},{"version":"1.0.23","createdAt":"2026-06-01T19:21:34.532Z","changelog":"fix: correct signup URL (studio.livecore.ai), jobId format (digits, not task_-prefixed), and max-length (3h) in docs.","fileCount":4,"zipByteSize":19296},{"version":"1.0.22","createdAt":"2026-06-01T18:59:29.645Z","changelog":"Republish: refresh listing (same prompt-first autonomous-editor contract; usable from any MCP client incl. Hermes via levea-mcp-server).","fileCount":4,"zipByteSize":18933},{"version":"1.0.21","createdAt":"2026-05-25T05:57:59.021Z","changelog":"Docs: surface editorial montage assembly (shot discovery + sequencing) under Assemble; disambiguate vertical montage.","fileCount":4,"zipByteSize":19002},{"version":"1.0.20","createdAt":"2026-05-25T05:44:47.621Z","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":17569},{"version":"1.0.19","createdAt":"2026-05-17T08:49:11.765Z","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":15743},{"version":"1.0.18","createdAt":"2026-05-17T08:47:28.075Z","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":15656},{"version":"1.0.17","createdAt":"2026-05-17T08:41:14.769Z","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":15489}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17anjkt7txbs1a5hwvyq8q8p586paam:levea-ai-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-levea-ai-video-editor/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-video-editor/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-video-editor/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-video-editor/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-video-editor/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-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-10T15:54:18.724Z"}},"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-levea-ai-video-editor/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-video-editor/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-video-editor/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-brajendrak00068-levea-ai-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-10T12:58:04.269Z","emptyReason":null},"readme":"Skill: Levea AI Video Editor\n\nOwner: brajendrak00068\n\nSummary: Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export.\n\nTags: agentic-video-editor:1.0.19, ai-agentic-editor:1.0.19, ai-dubbing:1.0.19, ai-video-editor:1.0.24, audio-cleanup:1.0.24, autonomous-video-editing:1.0.19, background-removal:1.0.19, background-replacement:1.0.19, brand-kit:1.0.24, caption-translation:1.0.19, captions:1.0.24, chroma-key:1.0.24, export:1.0.24, latest:1.0.24, markers:1.0.19, motion-graphics:1.0.24, motion-tracking:1.0.19, multi-cam:1.0.24, multilingual-video:1.0.19, natural-language-video-editing:1.0.19, object-removal:1.0.19, ocr:1.0.19, openclaw-skill:1.0.24, privacy-redaction:1.0.23, profanity-cleanup:1.0.19, slideshow:1.0.19, stabilization:1.0.19, thumbnail:1.0.24, title-cards:1.0.19, transitions:1.0.19, vertical-video:1.0.24, video:1.0.24, viral-clips:1.0.24\n\nVersion history:\n\nv1.0.24 | 2026-10-02T11:59:57.619Z | user\n\nUpdate docs and API parity\n\nv1.0.23 | 2026-06-01T19:21:34.532Z | user\n\nfix: correct signup URL (studio.livecore.ai), jobId format (digits, not task_-prefixed), and max-length (3h) in docs.\n\nv1.0.22 | 2026-06-01T18:59:29.645Z | 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.21 | 2026-05-25T05:57:59.021Z | user\n\nDocs: surface editorial montage assembly (shot discovery + sequencing) under Assemble; disambiguate vertical montage.\n\nv1.0.20 | 2026-05-25T05:44:47.621Z | 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.19 | 2026-05-17T08:49:11.765Z | 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.18 | 2026-05-17T08:47:28.075Z | 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.17 | 2026-05-17T08:41:14.769Z | 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.16 | 2026-05-17T08:33:21.438Z | 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.15 | 2026-05-17T07:59:38.659Z | 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.14 | 2026-05-17T07:51:48.313Z | user\n\nBrief example renders as paragraph\n\nv1.0.13 | 2026-05-17T07:49:01.991Z | user\n\nFull-brief example shows only the prompt (curl removed)\n\nv1.0.12 | 2026-05-17T07:46:01.591Z | user\n\nBeyond one-liners section promoted to top\n\nv1.0.11 | 2026-05-17T07:43:18.916Z | user\n\nAdded goals/briefs section: direct commands, watch-and-propose mode, full multi-step briefs\n\nv1.0.10 | 2026-05-17T07:40:59.227Z | user\n\nAdded OCR (caption-safe reframe, on-screen text), AI background removal, background blur, object removal roadmap\n\nv1.0.9 | 2026-05-17T07:35:18.791Z | user\n\nCorrected URLs: API api.livecore.ai, Studio studio.livecor.ai\n\nv1.0.8 | 2026-05-17T07:31:03.464Z | user\n\nBeta disclaimers across README and SKILL.md; agent confirms before mutating edits\n\nv1.0.7 | 2026-05-17T07:28:06.159Z | user\n\nSurface only autonomous_edit; one-tool UX\n\nv1.0.6 | 2026-05-17T07:21:55.083Z | user\n\nExpanded features: 19 prompt examples, 8 use-case verticals; 3-hour video support\n\nv1.0.5 | 2026-05-17T07:17:36.650Z | user\n\nTrimmed README to features-only; removed internal architecture sections\n\nv1.0.4 | 2026-05-17T06:56:32.957Z | user\n\nBrand rename Livecore -> Levea; tightened IP exposure in README\n\nv1.0.3 | 2026-05-17T06:30:45.845Z | user\n\nComprehensive README: 4-tier intelligence stack, 6 perception models, agent loop, full capability surface\n\nv1.0.2 | 2026-05-17T04:47:46.749Z | user\n\nImprove display name and description; better discoverability for agentic video editing keywords\n\nv1.0.1 | 2026-05-17T04:33:19.451Z | auto\n\nopenclaw_ai_video_editor 1.0.1 Changelog:\n\n- Added OpenClaw AI video editor skill for natural-language video editing tasks.\n- Supports both autonomous, prompt-driven editing and direct, structured tool calls.\n- Enables features like automatic captions, viral clip generation, chroma key, audio cleanup, and MP4 export.\n- Requires configuration with ADSCENE_API_URL and ADSCENE_API_KEY environment variables.\n- Comprehensive documentation included for supported actions and usage patterns.\n\nArchive index:\n\nArchive v1.0.24: 3 files, 6572 bytes\n\nFiles: skill-card.md (1873b), SKILL.md (11324b), _meta.json (141b)\n\nFile v1.0.24:SKILL.md\n\n---\nname: levea-ai-video-editor\ndescription: \"Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export.\"\nversion: 1.0.1\nauthor: brajendrak00068\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [video, ai-video-editor, viral-clips, captions, vertical-video, chroma-key, audio-cleanup, motion-graphics, multi-cam, brand-kit, thumbnail, export]\n    homepage: https://github.com/brajendrak00068/openclaw-ai-video-editor#readme\n---\n\n# Levea Agentic Video Editor\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. Every edit goes through one HTTP tool — `autonomous_edit` — so there is only one call to learn.\n\n## When to use this skill\n\nUse when the user asks for 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 / audio cleanup, voiceover, music generation, object / face blur, privacy redaction, beat sync, brand kits, thumbnails, style presets, vertical (9:16) reframe, safe-zone repair, final delivery checks, export presets, multi-platform export, or MP4 export.\n\n> **Beta**: outputs can be wrong. Before executing any mutating edit on user content, describe the planned edit and ask for explicit confirmation. For destructive or irreversible workflows, pass `requirePlanApproval: true` so the editor halts after planning and the user can approve before execution.\n\n## Setup\n\nThis skill calls the Levea HTTP API with `curl` and parses responses with `jq`.\n\nRequired binaries: `curl`, `jq`.\n\nRequired environment variables:\n\n- `LEVEA_API_URL` — base URL for the Levea API, e.g. `https://api.livecore.ai`. Do **not** use the Studio URL or the in-product `/api/v1/misc/editor` route.\n- `LEVEA_API_KEY` — API key generated from Studio at `https://livecore.ai/` (sign up / sign in, then create a key). Studio is only for signup, login, and key management.\n\n```bash\nexport LEVEA_API_URL=\"https://api.livecore.ai\"\nexport LEVEA_API_KEY=\"your-api-key\"\n```\n\n## Endpoint\n\n`POST {LEVEA_API_URL}/api/v1/misc/openclaw/v1/execute`\n\nAuth: `Authorization: Bearer {LEVEA_API_KEY}`\n\nAccepts 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\": { \"prompt\": \"...\" },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { \"_comment\": \"optional client scene; server-side committed scene wins if newer\" }\n}\n```\n\n## How to use it\n\nPass a natural-language description in `params.prompt`. The agent classifies intent, decomposes into atomic steps, plans, executes through safety gates, and verifies the result.\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 motion-track 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** — timeline + layer structure, CV frame analysis (object/face/scene), transcript search (keyword / semantic / timestamp), video intelligence (narrative peaks, diarization, sentiment, pacing), asset-gallery search, async job polling, property-schema introspection.\n\n**Structural editing** — insert / update / replace / delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie); trim / split / retime (slow-mo, fast-forward, freeze-frame); smart jump cuts, filler-word + silence + low-energy cleanup; timeline sequencing, multi-cam sync + angle switching, gap heal, duration reconcile, multi-step undo / redo.\n\n**Visual editing** — color grade (brightness/contrast/saturation/hue, lift-gamma-gain, RGB curves); procedural VFX shaders (smoke, dust, fire, lightning, snow, glitch, grain, bokeh, lava, portal, …); chroma key (similarity/smoothness/spill, luma/alpha/depth masks); clip shapes; crop + 3D rotation/perspective; glow / shadow / gradient fills; vertical reframe (9:16) + montage; split screen + PiP; brand overlays / kits; motion + face tracking with zoom-follow; object hide / blur, face blur, privacy redaction, safe-zone repair.\n\n**Captions & text** — auto captions from transcript; built-in templates or an AI caption director; motion graphics (kinetic captions, lower thirds, stat callouts, charts, comparison overlays, concept-icon Lottie); curved text paths; per-word entrance / exit animations; Lottie playback control.\n\n**Audio** — silence / breath / filler-word cleanup; profanity mute / bleep / cut; auto-ducking; mix / normalize / denoise / EQ; external master-audio sync; beat-synced cuts (`beat_times` or `bpm`); SFX, music generation (mood / genre / BPM), voiceover (TTS or cloned); waveform visualizers.\n\n**Async generation** — AI video / B-roll, AI images (single or batch at timestamps), AI music, AI voiceover, auto-thumbnail or AI thumbnail variants, face blur, instruction-based image edit.\n\n**High-level kits** (each one canonical action orchestrating many edits) — `APPLY_VIRAL_KIT`, `APPLY_CINEMATIC_DIRECTOR`, `APPLY_EMPHASIS_SYSTEM`, `OPTIMIZE_PACING`.\n\n**Export** — `EXPORT_VIDEO` (MP4), `EXPORT_PRESET` (platform / codec / aspect presets + safe-zone repair), `FINAL_DELIVERY_CHECK`, `GENERATE_VIRAL_CLIPS` (auto-segment short-form clips as ZIP), `GENERATE_MULTI_PLATFORM` (TikTok + Reels + Shorts + YouTube + Instagram in one pass).\n\n## Auto-export follow-up\n\nAfter an authoritatively **verified mutating** `autonomous_edit` call where 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\n\nPass any of these inside `params` (or at the top level of the body):\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` stops the agent after planning (`awaiting_approval`); resume with the same `workingMemory` + an approval prompt\n- `attachedImages` — array of base64 screenshots / reference images\n- `flaggedIssues` — array of strings describing specific problems to fix\n- `captionTemplatePreset`, `captionTemplateMode` — caption style routing\n- `brandId`, `projectBrandId` — brand-kit selection (colors, fonts, logo, grade bias, voice)\n- `core_only` (also `?core_only=true`) — minimal scene shape (rendering-only)\n- `assets` — additional asset descriptors to make available to the agent\n\n## Response shape (JSON, default)\n\n```json\n{\n  \"type\": \"success\",\n  \"tool\": \"autonomous_edit\",\n  \"success\": true,\n  \"status\": \"completed\",\n  \"scene\": { \"_comment\": \"updated scene\" },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"1234567\",\n  \"viral_clips\": [],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [],\n  \"pendingAsyncJobs\": [],\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"workingMemory\": { \"_comment\": \"return this in the next call to resume approval-paused runs\" }\n}\n```\n\nFailure (HTTP 4xx/5xx): `{ \"success\": false, \"error\": \"...\", \"code\": \"MISSING_PROMPT\" }`.\n\n`status` is one of `completed`, `failed`, `awaiting_approval`.\n\n## Async job lifecycle\n\nGeneration actions (`generate_*`, `EXPORT_VIDEO`) return immediately with a `jobId` in `activeTasks` / `pendingAsyncJobs`. Poll:\n\n```bash\ncurl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq '{status, progress, message, result}'\n```\n\n`status` is `queued` | `processing` | `completed` | `failed`. To harvest async-generated content into the timeline, issue an `autonomous_edit` prompt like `\"apply any pending generated content\"`.\n\n## Plan-approval flow\n\nWith `requirePlanApproval: true`, the response carries `status: \"awaiting_approval\"` + a populated `workingMemory`. To proceed, call again with `params.prompt` = an approval phrase (`yes`, `approve`, `go ahead`, `do it`, `confirm`, …) and the returned `workingMemory`.\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[]`. Identical concurrent requests for the same `(user, project, prompt, scene fingerprint)` are deduplicated server-side. 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## 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 handles longer\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, on the most engaging moments. Add bold captions, vertical reframe, remove silences.\"\n    },\n    \"project_id\": \"my-project\"\n  }' | tee /tmp/levea_result.json | jq -r '.jobId // .activeTasks[0].intent.job_id'\n\n# 2) Poll until done\nJOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/levea_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.24:_meta.json\n\n{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"levea-ai-video-editor\",\n  \"version\": \"1.0.24\",\n  \"publishedAt\": 1790942397619\n}\n\nFile v1.0.24:skill-card.md\n\n## Description:\n\nHelps an agent plan, execute, verify, and export video edits from natural-language requests through Levea's video-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\nContent creators and editors use this skill to request video edits such as captions, short clips, reframing, audio cleanup, and exports through an agent.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts, project identifiers, scene data, images, asset descriptors, and approval-state memory are sent to the configured Levea API.\n\nMitigation: Review the provider's data-handling terms before using sensitive media or project data.\n\nRisk: Edits to user content can be destructive or irreversible, and beta outputs can be wrong.\n\nMitigation: Describe the planned edit and obtain explicit confirmation; require plan approval for destructive or irreversible work.\n\n## Reference(s):\n\n- [Levea AI Video Editor on ClawHub](https://clawhub.ai/brajendrak00068/skills/levea-ai-video-editor)\n- [Skill metadata homepage](https://github.com/brajendrak00068/openclaw-ai-video-editor#readme)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Text]\n\n**Output Format:** [Markdown instructions and shell examples for JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Describes edit plans, approval, verification, and export results.]\n\n## Skill Version(s):\n\n1.0.24 (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.23: 4 files, 19296 bytes\n\nFiles: README.md (25271b), skill-card.md (2887b), SKILL.md (14673b), _meta.json (141b)\n\nFile v1.0.23:SKILL.md\n\n---\nname: levea_ai_video_editor\ndescription: Agentic AI video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.2\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.23: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 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/levea-ai-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 levea-ai-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 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.23:_meta.json\n\n{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"levea-ai-video-editor\",\n  \"version\": \"1.0.23\",\n  \"publishedAt\": 1780341694532\n}\n\nFile v1.0.23:skill-card.md\n\n## Description:\n\nAgentic AI 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\nExternal creators, marketers, educators, and developers use this skill to turn natural-language video-editing requests into planned edits, captions, reframing, cleanup, asset generation, and exports. It supports short-form repurposing, podcast and webinar highlights, brand-aware social clips, and multi-platform delivery workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: A configurable API endpoint can expose API keys or user media if it is pointed at an unintended host.\n\nMitigation: Use the ClawHub skill only with the official API host, avoid sending sensitive unreleased media unless remote processing is acceptable, and rotate the API key if it may have been exposed.\n\nRisk: The README's unpinned MCP install command can fetch a newer or unreviewed package version that receives an API key.\n\nMitigation: Prefer the reviewed ClawHub skill path or pin a reviewed MCP server version before use.\n\nRisk: The artifact describes the editor as beta, and automated edits can produce incorrect or unintended results.\n\nMitigation: Preview outputs before sharing or publishing, and require plan approval before high-stakes, destructive, or irreversible edits.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/brajendrak00068/skills/levea-ai-video-editor)\n- [Levea MCP server 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- [Agent integration details](https://github.com/brajendrak00068/openclaw-ai-video-editor/blob/main/AGENTS.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance, API calls, JSON]\n\n**Output Format:** [Markdown guidance with JSON request and response examples, shell commands, and API result payloads that can include edited video URLs, job IDs, MP4 exports, or ZIP bundles.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires API endpoint and API key configuration; mutating edits may return asynchronous job status and should be previewed before publishing.]\n\n## Skill Version(s):\n\n1.0.23 (source: server release metadata; artifact frontmatter reports 1.0.2)\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.22: 4 files, 18933 bytes\n\nFiles: README.md (24985b), skill-card.md (2481b), SKILL.md (14674b), _meta.json (141b)\n\nFile v1.0.22:SKILL.md\n\n---\nname: levea_ai_video_editor\ndescription: Agentic AI video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.2\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.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 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/levea-ai-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 levea-ai-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 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.22:_meta.json\n\n{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"levea-ai-video-editor\",\n  \"version\": \"1.0.22\",\n  \"publishedAt\": 1780340369645\n}\n\nFile v1.0.22:skill-card.md\n\n## Description: <br>\nAgentic AI 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>\nCreators, marketers, agencies, educators, podcasters, and developers use this skill to turn natural-language editing requests into planned video edits, exports, captions, clips, and multi-platform delivery packages through Levea's cloud API. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends video, audio, transcripts, project state, prompts, and reference images to Levea's cloud API. <br>\nMitigation: Install only when cloud processing is acceptable for the media, and use a dedicated Levea API key. <br>\nRisk: The skill can make incorrect edits or perform sensitive changes to user media. <br>\nMitigation: Review planned edits and final outputs, and use requirePlanApproval for sensitive, destructive, irreversible, or high-stakes workflows. <br>\nRisk: The skill requires sensitive API credentials. <br>\nMitigation: Provide credentials through environment variables, use a scoped or dedicated key where possible, and rotate the key if exposed. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill listing](https://clawhub.ai/brajendrak00068/levea-ai-video-editor) <br>\n- [levea-mcp-server package](https://www.npmjs.com/package/levea-mcp-server) <br>\n- [ClawHub plugin listing](https://clawhub.ai/plugins/openclaw-ai-video-editor) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [API calls, JSON, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [JSON API responses with optional SSE events, shell examples, media URLs, job IDs, scene state, and concise human-readable summaries.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can return MP4 video URLs, ZIP clip bundles, async job status, verification issues, and working memory for approval-paused runs.] <br>\n\n## Skill Version(s): <br>\n1.0.22 (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.21: 4 files, 19002 bytes\n\nFiles: README.md (24985b), skill-card.md (2767b), SKILL.md (14674b), _meta.json (141b)\n\nFile v1.0.21:SKILL.md\n\n---\nname: levea_ai_video_editor\ndescription: Agentic AI video editor: send a prompt, the autonomous editor plans, uses internal tools, exports, and returns the result.\nversion: 1.0.2\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.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 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/levea-ai-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 levea-ai-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 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\": \"levea-ai-video-editor\",\n  \"version\": \"1.0.21\",\n  \"publishedAt\": 1779688679021\n}\n\nFile v1.0.21:skill-card.md\n\n## Description: <br>\nAgentic AI 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>\nCreators, marketers, educators, podcasters, and developers use this skill to turn natural-language video editing requests into planned edits, exports, clips, captions, reframes, effects, and job-status workflows through the Levea remote API. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Selected media, prompts, transcripts, project data, brand assets, and outputs are sent to the Levea remote API for processing. <br>\nMitigation: Install only for workflows where remote processing of those materials is acceptable, and avoid sending sensitive media unless approved by the user or organization. <br>\nRisk: AI-generated or automated video edits can be incorrect, misleading, or unsuitable for publication. <br>\nMitigation: Preview exported videos before publishing or sharing, and use plan approval for sensitive or irreversible edits. <br>\nRisk: Pending plans or destructive edits could be approved accidentally through casual confirmations. <br>\nMitigation: Require explicit plan approval for sensitive workflows and avoid casual approval language when resuming pending edits. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Release](https://clawhub.ai/brajendrak00068/levea-ai-video-editor) <br>\n- [Levea MCP Server](https://www.npmjs.com/package/levea-mcp-server) <br>\n- [MCP Registry Entry](https://registry.modelcontextprotocol.io/v0/servers?search=levea-mcp-server) <br>\n- [ClawHub Plugin](https://clawhub.ai/plugins/openclaw-ai-video-editor) <br>\n- [Levea Studio API Key Portal](https://studio.livecore.ai/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, API calls, JSON, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown guidance with JSON request and response examples, shell command examples, and remote API result URLs or job identifiers] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires API credentials and sends selected media, prompts, transcripts, project data, brand assets, and outputs to the Levea remote API.] <br>\n\n## Skill Version(s): <br>\n1.0.21 (source: server release evidence) <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 deploym\n\nArchive v1.0.20: 3 files, 17569 bytes\n\nFiles: README.md (24908b), SKILL.md (14674b), _meta.json (141b)\n\nArchive v1.0.19: 3 files, 15743 bytes\n\nFiles: README.md (22804b), SKILL.md (13852b), _meta.json (141b)\n\nArchive v1.0.18: 3 files, 15656 bytes\n\nFiles: README.md (22648b), SKILL.md (13852b), _meta.json (141b)\n\nArchive v1.0.17: 3 files, 15489 bytes\n\nFiles: README.md (22185b), SKILL.md (13852b), _meta.json (141b)\n\nArchive v1.0.16: 3 files, 14800 bytes\n\nFiles: README.md (20365b), SKILL.md (13852b), _meta.json (141b)\n\nArchive v1.0.15: 3 files, 14792 bytes\n\nFiles: README.md (20341b), SKILL.md (13852b), _meta.json (141b)","readmeExcerpt":"Skill: Levea AI Video Editor Owner: brajendrak00068 Summary: Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export. Tags: agentic-video-editor:1.0.19, ai-agentic-editor:1.0.19, ai-dubbing:1.0.19, ai-video-editor:1.0.24, audio-cleanup:1.0.24, autonomous-vid","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"export LEVEA_API_URL=\"https://api.livecore.ai\"\nexport LEVEA_API_KEY=\"your-api-key\""},{"language":"json","snippet":"{\n  \"tool\": \"autonomous_edit\",\n  \"params\": { \"prompt\": \"...\" },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { \"_comment\": \"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 motion-track the speaker.\"\n    },\n    \"project_id\": \"my-project\"\n  }'"},{"language":"json","snippet":"{\n  \"type\": \"success\",\n  \"tool\": \"autonomous_edit\",\n  \"success\": true,\n  \"status\": \"completed\",\n  \"scene\": { \"_comment\": \"updated scene\" },\n  \"reply\": \"Human-readable summary of what changed\",\n  \"videoUrl\": \"https://.../output.mp4\",\n  \"jobId\": \"1234567\",\n  \"viral_clips\": [],\n  \"zip_url\": \"https://.../clips.zip\",\n  \"activeTasks\": [],\n  \"pendingAsyncJobs\": [],\n  \"verificationPassed\": true,\n  \"verificationIssues\": [],\n  \"workingMemory\": { \"_comment\": \"return this in the next call to resume approval-paused runs\" }\n}"},{"language":"bash","snippet":"curl -sS \"$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID\" \\\n  -H \"Authorization: Bearer $LEVEA_API_KEY\" | jq '{status, progress, message, result}'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: levea-ai-video-editor\ndescription: \"Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export.\"\nversion: 1.0.1\nauthor: brajendrak00068\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [video, ai-video-editor, viral-clips, captions, vertical-video, chroma-key, audio-cleanup, motion-graphics, multi-cam, brand-kit, thumbnail, export]\n    homepage: https://github.com/brajendrak00068/openclaw-ai-video-editor#readme\n---\n\n# Levea Agentic Video Editor\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. Every edit goes through one HTTP tool — `autonomous_edit` — so there is only one call to learn.\n\n## When to use this skill\n\nUse when the user asks for 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 / audio cleanup, voiceover, music generation, object / face blur, privacy redaction, beat sync, brand kits, thumbnails, style presets, vertical (9:16) reframe, safe-zone repair, final delivery checks, export presets, multi-platform export, or MP4 export.\n\n> **Beta**: outputs can be wrong. Before executing any mutating edit on user content, describe the planned edit and ask for explicit confirmation. For destructive or irreversible workflows, pass `requirePlanApproval: true` so the editor halts after planning and the user can approve before execution.\n\n## Setup\n\nThis skill calls the Levea HTTP API with `curl` and parses responses with `jq`.\n\nRequired binaries: `curl`, `jq`.\n\nRequired environment variables:\n\n- `LEVEA_API_URL` — base URL for the Levea API, e.g. `https://api.livecore.ai`. Do **not** use the Studio URL or the in-product `/api/v1/misc/editor` route.\n- `LEVEA_API_KEY` — API key generated from Studio at `https://livecore.ai/` (sign up / sign in, then create a key). Studio is only for signup, login, and key management.\n\n```bash\nexport LEVEA_API_URL=\"https://api.livecore.ai\"\nexport LEVEA_API_KEY=\"your-api-key\"\n```\n\n## Endpoint\n\n`POST {LEVEA_API_URL}/api/v1/misc/openclaw/v1/execute`\n\nAuth: `Authorization: Bearer {LEVEA_API_KEY}`\n\nAccepts 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\": { \"prompt\": \"...\" },\n  \"project_id\": \"optional-project-id\",\n  \"scene\": { \"_comment\": \"optional client scene; server-side committed scene wins if newer\" }\n}\n```\n\n## How to use it\n\nPass a natural-language description in `params.prompt`. The agent classifies intent, decomposes "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7746x80kh99rrj9tzs82bm9586qce9\",\n  \"slug\": \"levea-ai-video-editor\",\n  \"version\": \"1.0.24\",\n  \"publishedAt\": 1790942397619\n}"},{"path":"skill-card.md","content":"## Description:\n\nHelps an agent plan, execute, verify, and export video edits from natural-language requests through Levea's video-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\nContent creators and editors use this skill to request video edits such as captions, short clips, reframing, audio cleanup, and exports through an agent.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts, project identifiers, scene data, images, asset descriptors, and approval-state memory are sent to the configured Levea API.\n\nMitigation: Review the provider's data-handling terms before using sensitive media or project data.\n\nRisk: Edits to user content can be destructive or irreversible, and beta outputs can be wrong.\n\nMitigation: Describe the planned edit and obtain explicit confirmation; require plan approval for destructive or irreversible work.\n\n## Reference(s):\n\n- [Levea AI Video Editor on ClawHub](https://clawhub.ai/brajendrak00068/skills/levea-ai-video-editor)\n- [Skill metadata homepage](https://github.com/brajendrak00068/openclaw-ai-video-editor#readme)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Text]\n\n**Output Format:** [Markdown instructions and shell examples for JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Describes edit plans, approval, verification, and export results.]\n\n## Skill Version(s):\n\n1.0.24 (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":"Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export. Skill: Levea AI Video Editor Owner: brajendrak00068 Summary: Agentic AI video editor: send a prompt and an autonomous editor plans, executes, verifies, and exports the edit — viral clips, captions, vertical reframe, chroma key, audio cleanup, B-roll, motion graphics, MP4 export. Tags: agentic-video-editor:1.0.19, ai-agentic-editor:1.0.19, ai-dubbing:1.0.19, ai-video-editor:1.0.24, audio-cleanup:1.0.24, autonomous-vid","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1258,"uniquenessScore":55,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T12:58:04.269Z","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-10T12:58:04.269Z","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-10T15:54:18.728Z","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"}]}}}