jianying-editor
35
总安装量
7
周安装量
#10745
全站排名
安装命令
npx skills add https://github.com/luoluoluo22/jianying-editor-skill --skill jianying-editor
Agent 安装分布
gemini-cli
5
codex
5
opencode
5
antigravity
4
codebuddy
4
Skill 文档
JianYing Editor Skill
Use this skill when the user wants to automate video editing, generate drafts, or manipulate media assets in JianYing Pro.
è§åæå (Rules)
Read the individual rule files for specific tasks and constraints:
- rules/setup.md – Mandatory initialization code for all scripts.
- rules/core.md – Core operations: Saving, Exporting, and Draft management.
- rules/media.md – Importing Video, Audio, and Image assets.
- rules/text.md – Adding Subtitles, Text, and Captions.
- rules/keyframes.md – Advanced: Adding Keyframe animations.
- rules/effects.md – Searching for and applying Filters, Effects, and Transitions.
- rules/recording.md – New: Screen Recording & Smart Zoom automation.
- rules/web-vfx.md – Advanced: Web-to-Video generation.
- rules/generative.md – Chain of Thought for generative editing.
- rules/audio-voice.md – New: TTS Voiceover & BGM sourcing.
ð ç»å ¸ç¤ºä¾ (Examples)
Refer to these for complete workflows:
- examples/my_first_vlog.py – A complete vlog creation demo with background music and animated text.
- examples/simple_clip_demo.py – Quick-start tutorial for basic cutting and track management.
- examples/compound_clip_demo.py – New: Professional nested project (Compound Clip) automation.
- examples/video_transcribe_and_match.py – Advanced: AI-driven workflow (Transcribe Video -> Match B-Roll via AI semantics -> Assemble Draft).
ð§ æç¤ºè¯ä¸éæå·¥å · (Prompts & Integrated Tools)
Use these templates and scripts for complex tasks:
- Asset Search: Find filters, transitions, and animations by Chinese/English name:
python <SKILL_ROOT>/scripts/asset_search.py "å¤å¤" -c filters - Movie Commentary Builder: Generate 60s commentary videos from a storyboard JSON:
python <SKILL_ROOT>/scripts/movie_commentary_builder.py --video "video.mp4" --json "storyboard.json" - Sync Native Assets: Import your favorited/played BGM from JianYing App to the Skill:
python <SKILL_ROOT>/scripts/sync_jy_assets.py - README to Tutorial: Convert a project’s README.md into a full installation tutorial video script:
- Read prompt:
prompts/readme_to_tutorial.md - Inject content into
{{README_CONTENT}}variable
- Read prompt:
- Screen Recorder & Smart Zoom: Record your screen and auto-apply zoom keyframes:
python <SKILL_ROOT>/tools/recording/recorder.py # Or apply zoom to existing video: python <SKILL_ROOT>/scripts/jy_wrapper.py apply-zoom --name "Project" --video "v.mp4" --json "e.json" - Auto Exporter: Headless export of a draft to MP4/SRT:
python <SKILL_ROOT>/scripts/auto_exporter.py "DraftName" "output.mp4" --res 1080 --fps 60 # For SRT only: python <SKILL_ROOT>/scripts/jy_wrapper.py export-srt --name "DraftName" - Template Clone & Replacer: å®å
¨å
鿍¡æ¿å¹¶æ¹éæ¿æ¢ç©æ (鲿¢æå忍¡æ¿):
# å 鿍¡æ¿çææ°é¡¹ç® python <SKILL_ROOT>/scripts/jy_wrapper.py clone --template "é åºæ¨¡æ¿" --name "客æ·A_坿¬" - API Validator: Run a quick diagnostic of your environment:
python <SKILL_ROOT>/scripts/api_validator.py
ð å¿«éå¼å§ç¤ºä¾
import os
import sys
# 1. ç¯å¢åå§å (å¿
须忥å°èæ¬å¼å¤´)
current_dir = os.path.dirname(os.path.abspath(__file__))
# æ¢æµ Skill è·¯å¾ (æ¯æ Antigravity, Trae, Claude ç)
skill_root = next((p for p in [
os.path.join(current_dir, ".agent", "skills", "jianying-editor"),
os.path.join(current_dir, "skills", "jianying-editor"),
os.path.abspath(".agent/skills/jianying-editor"),
os.path.dirname(current_dir) # å¦æå¨ examples/ ç®å½ä¸
] if os.path.exists(os.path.join(p, "scripts", "jy_wrapper.py"))), None)
if not skill_root: raise ImportError("Could not find jianying-editor skill root.")
sys.path.insert(0, os.path.join(skill_root, "scripts"))
from jy_wrapper import JyProject
if __name__ == "__main__":
project = JyProject("My Video Project")
assets_dir = os.path.join(skill_root, "assets")
# 2. 导å
¥è§é¢ä¸é
ä¹
project.add_media_safe(os.path.join(assets_dir, "video.mp4"), "0s")
project.add_media_safe(os.path.join(assets_dir, "audio.mp3"), "0s", track_name="Audio")
# 3. æ·»å 带å¨ç»çæ é¢
project.add_text_simple("åªæ èªå¨åå¼å¯", start_time="1s", duration="3s", anim_in="å¤å¤æåæº")
project.save()