Levea Agentic Video Editor for OpenClaw
A 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.
Use 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.
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.
Endpoint
POST {LEVEA_API_URL}/api/v1/misc/openclaw/v1/execute
Auth: Authorization: Bearer {LEVEA_API_KEY}
Create an account and generate the OpenClaw API key in Studio: https://studio.livecore.ai/.
Use https://api.livecore.ai for LEVEA_API_URL; Studio is only for signup, login, and key management.
LEVEA_API_URL / LEVEA_API_KEY are canonical. The legacy ADSCENE_API_URL / ADSCENE_API_KEY names are still accepted as a silent fallback for backward compatibility.
Accepts either single-shot JSON (default) or SSE (Accept: text/event-stream or ?stream=true).
Request body:
{
"tool": "autonomous_edit",
"params": { ... },
"project_id": "optional-project-id",
"scene": { /* optional client scene; server-side committed scene wins if newer */ }
}
How you use it
Every 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.
curl -sS -X POST "$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute" \
-H "Authorization: Bearer $LEVEA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool": "autonomous_edit",
"params": {
"prompt": "Make this a TikTok-ready viral clip: vertical reframe, add bold captions, remove silences, and apply motion tracking to the speaker."
},
"project_id": "my-project"
}'
Behind a single autonomous_edit call the agent can compose any of:
Read / inspect
- Inspect the timeline structure, layer properties, and current scene state
- Run computer-vision analysis on frames (object/face/scene detection)
- Query the transcript with keyword, semantic, or timestamp-window search
- Pull video intelligence (narrative peaks, speaker diarization, sentiment, pacing)
- Search the asset gallery (videos, images, audio) by type, duration, name
- Poll async job status; introspect property schemas
Structural editing
- Insert / update / replace / delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)
- Trim, split, retime layers (slow-mo 0.5×, fast-forward 2×, freeze-frame)
- Smart jump cuts, filler-word cuts, silence cleanup, low-energy segment removal
- Reposition on the timeline, sequence layers, snap to transcript
- Multi-cam sync and angle switching by pacing, speaker priority, or shot size
- Heal timeline gaps, normalize audio, reconcile durations (pre-export safety pass)
- Multi-step undo / redo
Visual editing
- Color grading (brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves)
- Procedural VFX shaders: smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, telomere/corrosion, portal
- Chroma key (green / blue screen) with similarity, smoothness, spill controls; luma / alpha / depth masks
- Geometric clip shapes (circle, dome, star, hexagon, …)
- Crop (absolute or edge-based), 3D rotation + perspective
- Glow, shadow, inner shadow, gradient fills, text gradients
- Vertical reframe (9:16) and vertical-reframe montage
- Split screen (top/bottom, left/right, picture-in-picture)
- Branding overlays and brand kits (logo / watermark / colors / fonts / voice) from gallery, project brand settings, or AI-generated; brand-kit limits match Studio billing: Free none, Starter 1, Creator+ unlimited
- Motion / face tracking with dynamic zoom-follow
- Object hide / object blur, selective face blur, privacy redaction, safe-zone repair
Captions & text
- Auto-generate captions from transcript
- Style captions with built-in templates or an AI director that picks/generates a custom template at runtime
- Motion graphics: kinetic captions, lower thirds, stat callouts, charts, comparison overlays, concept-icon Lottie layers
- Curved text paths (circle, wave, custom SVG)
- Per-word entrance / exit animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave, plus matching exits)
- Lottie animation playback control
Audio
- Clean audio: remove silences, breaths, filler words; word-level mute or cut
- Profanity cleanup: mute, bleep, or cut flagged words
- Auto-ducking on speech detection (sidechain music vs voice)
- Mix / normalize / denoise / EQ (bass boost, vocal clarity, warm, bright)
- Sync external master audio to video (offset, mute camera audio)
- Beat / kick-drum-synced cuts (provide
beat_times or bpm)
- Add SFX, generate music (mood / genre / BPM), generate voiceover (TTS or cloned voice)
- Render waveform visualizers (bars, wave, circular)
Async generation
- AI video / B-roll — duration + aspect ratio
- AI images — single or batch at timestamps
- AI music — prompt + duration + mood + genre + BPM
- AI voiceover — TTS or cloned voice library
- Auto-thumbnail extraction or AI-generated thumbnail variants
- Face blur (all faces or background-only)
- Image edit (generative instruction-based)
High-level kits (each is a single canonical action that orchestrates many underlying edits)
APPLY_VIRAL_KIT — vertical reframe + captions + silence removal + motion tracking + emphasis
APPLY_CINEMATIC_DIRECTOR — energy analysis + dynamic zooms + cinematic color grade + mood-based camera moves
APPLY_EMPHASIS_SYSTEM — keyword detection + scaling / glow / pulse coordinated with captions
OPTIMIZE_PACING — filler-word + silence + low-energy segment removal for retention
Export
EXPORT_VIDEO — render to MP4 (resolution / codec / quality tier)
EXPORT_PRESET — platform / codec / aspect-ratio presets with safe-zone repair
FINAL_DELIVERY_CHECK — verify safe zones, timeline integrity, captions, media, and export readiness
GENERATE_VIRAL_CLIPS — auto-segment short-form clips packaged as ZIP
GENERATE_MULTI_PLATFORM — TikTok + Reels + Shorts + YouTube + Instagram aspect ratios in one pass
Auto-export follow-up
After an authoritatively verified mutating autonomous_edit call, if the changed scene was durably committed and the agent did not already queue an export, the route fires one automatically as a second run. The final response carries videoUrl (when ready) or jobId (for polling). Partial, unverified, conflicted, read-only, and conversational calls do NOT trigger auto-export.
Optional input parameters (parity with the in-product editor)
Pass any of these inside params (or at the top level of the body) to drive advanced features:
prompt — required on every call (the natural-language edit description)
workingMemory — durable working-memory snapshot. Re-send to resume after awaiting_approval
requirePlanApproval — true makes the agent stop after planning and emit awaiting_approval; resume with the same workingMemory + an approval prompt ("yes", "approve", "do it", …)
attachedImages — array of base64 screenshots / reference images
flaggedIssues — array of strings describing specific problems the user wants fixed
captionTemplatePreset, captionTemplateMode — style preset routing for caption generation
brandId, projectBrandId — optional brand-kit selection for colors, fonts, logo, grade bias, and voice
core_only (also accepted via ?core_only=true) — return a minimal scene shape (rendering-only, no debug fields)
assets — additional asset descriptors to make available to the agent
Response shapes
JSON (default)
{
"type": "success" | "partial_success",
"tool": "<tool-name>",
"success": true,
"status": "completed" | "failed" | "awaiting_approval",
"scene": { /* updated scene */ },
"reply": "Human-readable summary of what changed",
"videoUrl": "https://.../output.mp4",
"jobId": "1234567",
"viral_clips": [ /* clip metadata if generated */ ],
"zip_url": "https://.../clips.zip",
"activeTasks": [ /* queued background jobs */ ],
"pendingAsyncJobs": [ /* in-flight job status */ ],
"workflowStepsDetailed": [ /* every executed step */ ],
"workflowSummary": { "title": "...", "summary": "..." },
"verificationPassed": true,
"verificationIssues": [],
"committedToProjectScene": true,
"processingTime": 12.3,
"message": "Same as reply",
"workingMemory": { /* return this in the next call to resume approval-paused runs */ }
}
Failure response (HTTP 4xx/5xx):
{ "success": false, "error": "...", "code": "MISSING_PROMPT" | "EXECUTION_ERROR" }
SSE (Accept: text/event-stream or ?stream=true)
The same event stream the in-product editor uses. Notable event types:
heartbeat — every 15s, keeps the connection alive
status — phase transitions (request_received, runtime_start, …)
mode_select — { mode: "qa" | "action" }
thinking, tool_call, tool_result — per-step reasoning visibility
background_job_completed — async job finished (B-roll, viral clips, …)
workflow_completed — main brain loop done, verification may continue
success / partial_success — final terminal payload (same shape as JSON above)
error — terminal failure
Async job lifecycle
Generation actions (generate_*, EXPORT_VIDEO) return immediately with a jobId in activeTasks / pendingAsyncJobs. Poll status with:
GET {LEVEA_API_URL}/api/v1/misc/openclaw/v1/jobs/{jobId}
Authorization: Bearer {LEVEA_API_KEY}
Response:
{
"success": true,
"jobId": "1234567",
"status": "queued" | "processing" | "completed" | "failed",
"progress": 0.74,
"message": "Rendering frame 142 of 192",
"result": { /* artifact URLs / clip metadata on completion */ },
"error": null,
"createdAt": "...",
"updatedAt": "..."
}
To 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.
Plan approval flow
If you pass requirePlanApproval: true, the agent stops after planning and the response carries status: "awaiting_approval" + a populated workingMemory. To proceed, call again with:
{
"tool": "autonomous_edit",
"params": {
"prompt": "yes",
"workingMemory": { /* the workingMemory from the previous response */ }
}
}
Accepted approval phrases: yes, y, approve, approved, go, proceed, go ahead, do it, confirm.
Safety, verification, and limits
Every 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.
Rate-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.
Supported formats
- Video in: MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs)
- Image in: JPG, PNG, WebP
- Audio in: MP3, WAV, M4A, AAC (or extracted from video)
- Output: MP4 (export), ZIP (viral clips / multi-platform bundles)
- Max video length: up to ~3 hours per asset (plan-dependent); sync edits and async generation both supported
- Export caps: same as Studio billing — Free 720p with Levea watermark, Starter 1080p with no watermark, Creator / Studio / Enterprise 4K with no watermark
- Canvas resolution: 1080p or 4K recommended while editing; final export is capped by the active plan
Example: end-to-end viral-clip generation
# 1) Kick off the viral-clip pipeline (auto-export follow-up queues rendering)
curl -sS -X POST "$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute" \
-H "Authorization: Bearer $LEVEA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool": "autonomous_edit",
"params": {
"prompt": "Generate 5 viral clips, 15-30 seconds each, focused on the most engaging moments. Add bold captions, vertical reframe, remove silences."
},
"project_id": "my-project"
}' | tee /tmp/result.json | jq -r '.jobId // .activeTasks[0].intent.job_id'
# 2) Poll job status until done
JOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)
while true; do
STATUS=$(curl -sS "$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID" \
-H "Authorization: Bearer $LEVEA_API_KEY" | jq -r '.status')
echo "Status: $STATUS"
[ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ] && break
sleep 5
done
# 3) Fetch the final artifact URL(s)
curl -sS "$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID" \
-H "Authorization: Bearer $LEVEA_API_KEY" | jq '.result'
1---2name: openclaw-ai-video-editor3description: Levea Agentic Video Editor for OpenClaw4---56# Levea Agentic Video Editor for OpenClaw78A 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.910Use 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.1112> **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.1314## Endpoint1516`POST {LEVEA_API_URL}/api/v1/misc/openclaw/v1/execute`1718Auth: `Authorization: Bearer {LEVEA_API_KEY}`1920Create an account and generate the OpenClaw API key in Studio: `https://studio.livecore.ai/`.21Use `https://api.livecore.ai` for `LEVEA_API_URL`; Studio is only for signup, login, and key management.2223> `LEVEA_API_URL` / `LEVEA_API_KEY` are canonical. The legacy `ADSCENE_API_URL` / `ADSCENE_API_KEY` names are still accepted as a silent fallback for backward compatibility.2425Accepts either single-shot JSON (default) or SSE (`Accept: text/event-stream` or `?stream=true`).2627Request body:2829```json30{31 "tool": "autonomous_edit",32 "params": { ... },33 "project_id": "optional-project-id",34 "scene": { /* optional client scene; server-side committed scene wins if newer */ }35}36```3738## How you use it3940Every 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.4142```bash43curl -sS -X POST "$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute" \44 -H "Authorization: Bearer $LEVEA_API_KEY" \45 -H "Content-Type: application/json" \46 -d '{47 "tool": "autonomous_edit",48 "params": {49 "prompt": "Make this a TikTok-ready viral clip: vertical reframe, add bold captions, remove silences, and apply motion tracking to the speaker."50 },51 "project_id": "my-project"52 }'53```5455Behind a single `autonomous_edit` call the agent can compose any of:5657**Read / inspect**58- Inspect the timeline structure, layer properties, and current scene state59- Run computer-vision analysis on frames (object/face/scene detection)60- Query the transcript with keyword, semantic, or timestamp-window search61- Pull video intelligence (narrative peaks, speaker diarization, sentiment, pacing)62- Search the asset gallery (videos, images, audio) by type, duration, name63- Poll async job status; introspect property schemas6465**Structural editing**66- Insert / update / replace / delete layers (video, audio, image, text, shape, solid, adjustment, group, light, vfx, visualizer, lottie)67- Trim, split, retime layers (slow-mo 0.5×, fast-forward 2×, freeze-frame)68- Smart jump cuts, filler-word cuts, silence cleanup, low-energy segment removal69- Reposition on the timeline, sequence layers, snap to transcript70- Multi-cam sync and angle switching by pacing, speaker priority, or shot size71- Heal timeline gaps, normalize audio, reconcile durations (pre-export safety pass)72- Multi-step undo / redo7374**Visual editing**75- Color grading (brightness, contrast, saturation, hue, lift/gamma/gain, RGB curves)76- Procedural VFX shaders: smoke, dust, fire, explosion, lightning, snow, glitch, scanlines, grain, glassmorphism, bokeh, lava, telomere/corrosion, portal77- Chroma key (green / blue screen) with similarity, smoothness, spill controls; luma / alpha / depth masks78- Geometric clip shapes (circle, dome, star, hexagon, …)79- Crop (absolute or edge-based), 3D rotation + perspective80- Glow, shadow, inner shadow, gradient fills, text gradients81- Vertical reframe (9:16) and vertical-reframe montage82- Split screen (top/bottom, left/right, picture-in-picture)83- Branding overlays and brand kits (logo / watermark / colors / fonts / voice) from gallery, project brand settings, or AI-generated; brand-kit limits match Studio billing: Free none, Starter 1, Creator+ unlimited84- Motion / face tracking with dynamic zoom-follow85- Object hide / object blur, selective face blur, privacy redaction, safe-zone repair8687**Captions & text**88- Auto-generate captions from transcript89- Style captions with built-in templates or an AI director that picks/generates a custom template at runtime90- Motion graphics: kinetic captions, lower thirds, stat callouts, charts, comparison overlays, concept-icon Lottie layers91- Curved text paths (circle, wave, custom SVG)92- Per-word entrance / exit animations (typewriter, slide, fade, scale, rotate, bounce, flip, swing, elastic, blur, glitch, wave, plus matching exits)93- Lottie animation playback control9495**Audio**96- Clean audio: remove silences, breaths, filler words; word-level mute or cut97- Profanity cleanup: mute, bleep, or cut flagged words98- Auto-ducking on speech detection (sidechain music vs voice)99- Mix / normalize / denoise / EQ (bass boost, vocal clarity, warm, bright)100- Sync external master audio to video (offset, mute camera audio)101- Beat / kick-drum-synced cuts (provide `beat_times` or `bpm`)102- Add SFX, generate music (mood / genre / BPM), generate voiceover (TTS or cloned voice)103- Render waveform visualizers (bars, wave, circular)104105**Async generation**106- AI video / B-roll — duration + aspect ratio107- AI images — single or batch at timestamps108- AI music — prompt + duration + mood + genre + BPM109- AI voiceover — TTS or cloned voice library110- Auto-thumbnail extraction or AI-generated thumbnail variants111- Face blur (all faces or background-only)112- Image edit (generative instruction-based)113114**High-level kits** (each is a single canonical action that orchestrates many underlying edits)115- `APPLY_VIRAL_KIT` — vertical reframe + captions + silence removal + motion tracking + emphasis116- `APPLY_CINEMATIC_DIRECTOR` — energy analysis + dynamic zooms + cinematic color grade + mood-based camera moves117- `APPLY_EMPHASIS_SYSTEM` — keyword detection + scaling / glow / pulse coordinated with captions118- `OPTIMIZE_PACING` — filler-word + silence + low-energy segment removal for retention119120**Export**121- `EXPORT_VIDEO` — render to MP4 (resolution / codec / quality tier)122- `EXPORT_PRESET` — platform / codec / aspect-ratio presets with safe-zone repair123- `FINAL_DELIVERY_CHECK` — verify safe zones, timeline integrity, captions, media, and export readiness124- `GENERATE_VIRAL_CLIPS` — auto-segment short-form clips packaged as ZIP125- `GENERATE_MULTI_PLATFORM` — TikTok + Reels + Shorts + YouTube + Instagram aspect ratios in one pass126127## Auto-export follow-up128129After an authoritatively **verified mutating** `autonomous_edit` call, if the changed scene was durably committed and the agent did not already queue an export, the route fires one automatically as a second run. The final response carries `videoUrl` (when ready) or `jobId` (for polling). Partial, unverified, conflicted, read-only, and conversational calls do NOT trigger auto-export.130131## Optional input parameters (parity with the in-product editor)132133Pass any of these inside `params` (or at the top level of the body) to drive advanced features:134135- `prompt` — required on every call (the natural-language edit description)136- `workingMemory` — durable working-memory snapshot. Re-send to resume after `awaiting_approval`137- `requirePlanApproval` — `true` makes the agent stop after planning and emit `awaiting_approval`; resume with the same workingMemory + an approval prompt (`"yes"`, `"approve"`, `"do it"`, …)138- `attachedImages` — array of base64 screenshots / reference images139- `flaggedIssues` — array of strings describing specific problems the user wants fixed140- `captionTemplatePreset`, `captionTemplateMode` — style preset routing for caption generation141- `brandId`, `projectBrandId` — optional brand-kit selection for colors, fonts, logo, grade bias, and voice142- `core_only` (also accepted via `?core_only=true`) — return a minimal scene shape (rendering-only, no debug fields)143- `assets` — additional asset descriptors to make available to the agent144145## Response shapes146147### JSON (default)148149```json150{151 "type": "success" | "partial_success",152 "tool": "<tool-name>",153 "success": true,154 "status": "completed" | "failed" | "awaiting_approval",155 "scene": { /* updated scene */ },156 "reply": "Human-readable summary of what changed",157 "videoUrl": "https://.../output.mp4",158 "jobId": "1234567",159 "viral_clips": [ /* clip metadata if generated */ ],160 "zip_url": "https://.../clips.zip",161 "activeTasks": [ /* queued background jobs */ ],162 "pendingAsyncJobs": [ /* in-flight job status */ ],163 "workflowStepsDetailed": [ /* every executed step */ ],164 "workflowSummary": { "title": "...", "summary": "..." },165 "verificationPassed": true,166 "verificationIssues": [],167 "committedToProjectScene": true,168 "processingTime": 12.3,169 "message": "Same as reply",170 "workingMemory": { /* return this in the next call to resume approval-paused runs */ }171}172```173174Failure response (HTTP 4xx/5xx):175176```json177{ "success": false, "error": "...", "code": "MISSING_PROMPT" | "EXECUTION_ERROR" }178```179180### SSE (`Accept: text/event-stream` or `?stream=true`)181182The same event stream the in-product editor uses. Notable event types:183- `heartbeat` — every 15s, keeps the connection alive184- `status` — phase transitions (`request_received`, `runtime_start`, …)185- `mode_select` — `{ mode: "qa" | "action" }`186- `thinking`, `tool_call`, `tool_result` — per-step reasoning visibility187- `background_job_completed` — async job finished (B-roll, viral clips, …)188- `workflow_completed` — main brain loop done, verification may continue189- `success` / `partial_success` — final terminal payload (same shape as JSON above)190- `error` — terminal failure191192## Async job lifecycle193194Generation actions (`generate_*`, `EXPORT_VIDEO`) return immediately with a `jobId` in `activeTasks` / `pendingAsyncJobs`. Poll status with:195196```197GET {LEVEA_API_URL}/api/v1/misc/openclaw/v1/jobs/{jobId}198Authorization: Bearer {LEVEA_API_KEY}199```200201Response:202```json203{204 "success": true,205 "jobId": "1234567",206 "status": "queued" | "processing" | "completed" | "failed",207 "progress": 0.74,208 "message": "Rendering frame 142 of 192",209 "result": { /* artifact URLs / clip metadata on completion */ },210 "error": null,211 "createdAt": "...",212 "updatedAt": "..."213}214```215216To 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.217218## Plan approval flow219220If you pass `requirePlanApproval: true`, the agent stops after planning and the response carries `status: "awaiting_approval"` + a populated `workingMemory`. To proceed, call again with:221222```json223{224 "tool": "autonomous_edit",225 "params": {226 "prompt": "yes",227 "workingMemory": { /* the workingMemory from the previous response */ }228 }229}230```231232Accepted approval phrases: `yes`, `y`, `approve`, `approved`, `go`, `proceed`, `go ahead`, `do it`, `confirm`.233234## Safety, verification, and limits235236Every 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.237238Rate-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.239240## Supported formats241242- **Video in**: MP4, MOV, WebM (HTTP/HTTPS URLs, YouTube URLs, gallery IDs)243- **Image in**: JPG, PNG, WebP244- **Audio in**: MP3, WAV, M4A, AAC (or extracted from video)245- **Output**: MP4 (export), ZIP (viral clips / multi-platform bundles)246- **Max video length**: up to ~3 hours per asset (plan-dependent); sync edits and async generation both supported247- **Export caps**: same as Studio billing — Free 720p with Levea watermark, Starter 1080p with no watermark, Creator / Studio / Enterprise 4K with no watermark248- **Canvas resolution**: 1080p or 4K recommended while editing; final export is capped by the active plan249250## Example: end-to-end viral-clip generation251252```bash253# 1) Kick off the viral-clip pipeline (auto-export follow-up queues rendering)254curl -sS -X POST "$LEVEA_API_URL/api/v1/misc/openclaw/v1/execute" \255 -H "Authorization: Bearer $LEVEA_API_KEY" \256 -H "Content-Type: application/json" \257 -d '{258 "tool": "autonomous_edit",259 "params": {260 "prompt": "Generate 5 viral clips, 15-30 seconds each, focused on the most engaging moments. Add bold captions, vertical reframe, remove silences."261 },262 "project_id": "my-project"263 }' | tee /tmp/result.json | jq -r '.jobId // .activeTasks[0].intent.job_id'264265# 2) Poll job status until done266JOB_ID=$(jq -r '.jobId // .activeTasks[0].intent.job_id' /tmp/result.json)267while true; do268 STATUS=$(curl -sS "$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID" \269 -H "Authorization: Bearer $LEVEA_API_KEY" | jq -r '.status')270 echo "Status: $STATUS"271 [ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ] && break272 sleep 5273done274275# 3) Fetch the final artifact URL(s)276curl -sS "$LEVEA_API_URL/api/v1/misc/openclaw/v1/jobs/$JOB_ID" \277 -H "Authorization: Bearer $LEVEA_API_KEY" | jq '.result'278```