Detalle del Skill
alibabacloud-video-editor
Edita videos con Alibaba Cloud ICE usando edición por Timeline, plantillas y producción inteligente para composición, títulos, subtítulos y audio.
Revisar antes de usar
La revisión automática comprueba relevancia, no seguridad ni respaldo. Lee las instrucciones de la fuente antes de usar este Skill.
SKILL.md
Este extracto es una copia guardada durante la revisión. La fuente externa contiene la versión completa y actual.
---
name: alibabacloud-video-editor
description: >
Edit videos with Alibaba Cloud ICE using URL or OSS inputs and cloud-rendered outputs. Use for Timeline editing, normal-template creation and rendering, multi-clip composition, titles, subtitles, transitions, audio mixing, translation or localization, and single-media intelligent-production jobs such as smart covers, erasure, caption extraction, matting, beauty, reframing, and audio processing. Also inspect templates and verify output URLs. Content analysis such as labels, highlight candidates, speaker attribution, and transcripts must be supplied upstream. Never use local ffmpeg to generate, convert, or extract media; it is limited to streamed audio analysis.
---
# Video Editor Skill
Edit video in the cloud (Alibaba Cloud ICE) — no local ffmpeg. Three modes:
- **Timeline editing** (`SubmitMediaProducingJob`) — assemble several clips: you write a Timeline JSON, the script submits a producing job, polls it, and returns the output video URL.
- **Normal templates** (`AddTemplate`, `Type=Timeline`) — store a parameterized Timeline Config, inspect its `ClipsParam` contract, and repeatedly render it with replacement text/media → `references/22-normal-templates.md`.
- **Intelligent production** (`SubmitIProductionJob`) — run **one algorithm over one media file** (smart cover, logo/subtitle erasure, caption extraction, matting, beauty, H→V, audio denoise/mixing/demix/analysis). No Timeline involved → §7.1 and `references/13-intelligent-production.md`.
**This skill is the last link of the chain.** Content understanding — what happens where, who speaks, which moments matter — is produced upstream by other capabilities and handed to this skill as data (§2.4). Everything here turns that data plus the material into a rendered, verified video.
## Hard Rules
Six rules where deviation is not a taste call. Everything else in this document — every font size, colour, duration, preset and length ratio — is a *worked example* from a job that shipped, not a mandate. Read those for what is possible, then make your own call from the material and the user's ask.
1. **Nothing lands on the user's local storage.** Media is never downloaded — read it in place (`ffmpeg -i "<https URL>"` streams over HTTP; a snapshot job returns signed frame URLs). Intermediates live in OSS: an algorithm's output, a dub take, a proxy, a converted input — all of them are OSS objects an ICE job wrote, never files on the user's disk. The deliverable is handed over as a **playback URL** (§8), not a downloaded file; produce a local file only when the user explicitly asks for one. The few things a local tool must write to be read at all (a waveform PNG, a `silencedetect` transcript, frames you inspect, `edl.json`, `project.md`) go into one scratch dir outside the user's project — `${TMPDIR:-/tmp}/video-editor/<session>` — and are disposable; never create them in the user's workspace. A local file the user hands over is uploaded to OSS first (§4) and operated on there.
2. **All generation goes through ICE; ffmpeg only analyzes audio.** Cutting, concatenating, trimming, overlaying, transitions, subtitle burn-in, mixing, speed change, synthesized speech/dubbing, format conversion: an ICE job renders it (`SubmitMediaProducingJob` for a Timeline, `SubmitIProductionJob` for a single-media algorithm, a template render for a Normal Timeline). ffmpeg's whole remit is **reading the audio signal** — waveform (`showwavespic`), silence/speech tails (`silencedetect`), loudness (`volumedetect`), duration (`ffprobe`) — and it writes nothing but those analysis numbers (§1.4). It never generates or transforms **media**: no `concat`, no `-filter_complex` over a media file, no `-c copy`, no re-encode, no `atempo`, no transcode. Frames come from `SubmitSnapshotJob`, not from ffmpeg. The one exception is a chart, not media: `timeline_view.py` crops tiles out of a **cloud** snapshot sprite and stacks them over the waveform, because no ICE API returLeer la fuente completa en GitHub (abre una página externa)