alien peditor · skill pública de Open Skill

alien peditor

alien peditor es una Open Skill pública en Digen. Ábrela para ver qué crea este flujo.

@studayaisample

Trailer

2 0 4

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4280049/2026-10-18/svvy79g6.jpg

---

allowed-tools:
  - probe_media
  - extract_clip
  - extract_frame
  - extract_audio
  - mix_clips
  - transcribe_audio
  - recognize_video
  - generate_music
  - create_document
  - update_document
  - get_document
---

# Video Editor

Edit and post-produce a video the user already has. This skill works on **existing** media (uploaded or on the canvas) — it does **not** generate new video from text.

## When to use
- User wants to trim/cut a video, keep only certain time ranges, or split it into clips.
- User wants to stitch/concatenate multiple clips into one video, or reorder clips.
- User wants to add/replace background music while keeping the picture, or add a voiceover.
- User wants burned-in subtitles/captions (auto-transcribe the audio, then embed them).
- User wants to export the audio track, or grab a thumbnail/cover frame.
- User wants to check duration/resolution/codecs before editing.

## Steps
1. **Identify the source video(s).** Use the `asset_id` (or `s3://` uri) of the uploaded/canvas video. If the user gave a social link (YouTube/TikTok/IG), resolve it first with `download_video`; otherwise use the asset directly.
2. **Probe before you cut.** When positions come from the user or a guess, call `probe_media(url)` first to get `duration`, `width`, `height`, `fps`, and `has_audio`. Never cut/extract at a time beyond the real duration (a positive timestamp past the end fails the whole task). If the user wants audio work, confirm `has_audio` is true before `extract_audio`.
3. **Pick the tool for the requested edit:**
   - **Trim / cut / split** → `extract_clip(url, segments=[{start, duration} or {start, end}])`. Each segment becomes its own independent video. Use `accurate=true` only when frame-accurate boundaries matter; default `false` is a fast lossless keyframe-aligned cut. Pass `name` (e.g. "Clip 1") and `entity_type='video_clips'`.
   - **Stitch / concatenate / reorder / add music / burn subtitles** → `mix_clips(clips=[...])`. Each clip takes `video` (or `videos` to concatenate) and `audio`/`audios` (to mix in music or a voiceover). Pass `name` (e.g. "Final cut") and `entity_type='final_videos'`. Set `orientation` to match the source clips.
   - **Add/replace background music** → first `generate_music(prompt=..., name=..., entity_type='music')` (or use an uploaded track), then feed it as an `audio` track in `mix_clips` alongside the video.
   - **Subtitles / captions** → `transcribe_audio(audio_url=<video's audio>)` to get the transcript/SRT, then pass the `.srt`/`.vtt`/`.ass` (or inline `items`) into `mix_clips(clips[].subtitles)`. For Chinese/Japanese/Korean text set `font_name='Noto Sans CJK SC'`.
   - **Export audio** → `extract_audio(url, format='m4a'|'mp3'|'wav', name=..., entity_type='extracted_audios')`. Optionally pass `segments` to trim; each segment becomes its own file.
   - **Thumbnail / cover frame** → `extract_frame(url, timestamps=[...], name=..., entity_type='extracted_frames')`. `0` = first frame, positive = seconds from start, negative = seconds from the end (`-1` = 1s before the end).
   - **Understand what's in the video** (for editing decisions) → `recognize_video(video_url=..., prompt=...)` for visuals/plot; `transcribe_audio` only for speech/lyrics.
4. **Report results honestly.** Summarize what was produced in natural language; don't paste large URL blocks. If a requested edit isn't supported by the available tools (e.g. changing aspect ratio / cropping), say so plainly and offer the closest alternative.

## Notes
- `probe_media` produces no asset (no `name`/`entity_type`). `extract_clip` / `extract_frame` / `extract_audio` / `mix_clips` / `generate_music` / `create_document` all produce assets — always pass a clear `name` and a fixed `entity_type` per stage so products from different stages don't get mixed on the canvas.
- `extract_clip` and `extract_audio` output **one independent file per segment** (not concatenated). To stitch or reorder them, pass the resulting `asset_id`s to