Skill de Exportação de Rascunho Nativo para JianYing Pro (剪映)
Esta skill fornece uma ponte automatizada e nativa de hardware para gerar e implantar rascunhos de projetos de nível profissional do JianYing Pro macOS (11.4+) diretamente de arquivos de vídeo, faixas de áudio e scripts de legenda.
Ela resolve completamente o problema do prompt de sandbox "媒体丢失 / 暂无访问权限" ao empacotar projetos sob a Arquitetura de Rascunho Autocontido (自包含草稿架构).
Referência Rápida
1. Exportação CLI de Uma Linha e Abertura Instantânea
python3 scripts/export_draft.py \
--video "/caminho/para/meu_video.mp4" \
--name "临沂森兴科技_GEO三角咬合被动获客" \
--cover "/caminho/para/capa.jpg" \
--subtitles "/caminho/para/legendas.json" \
--open
| Parâmetro | Curto | Obrigatório | Descrição |
|---|---|---|---|
--video | -v | Sim | Caminho absoluto para o arquivo de vídeo de origem |
--name | -n | Não | Nome do projeto no JianYing (padrão: nome do arquivo de vídeo) |
--cover | -c | Não | Imagem de miniatura da capa (.jpg / .png) |
--subtitles | -s | Não | Arquivo de legenda (.json ou .srt) |
--duration | -d | Não | Duração do vídeo em segundos (detectada automaticamente se omitida) |
--open | -o | Não | Reiniciar/abrir imediatamente o JianYing Pro e carregar o rascunho |
2. Uso da API Python
from pathlib import Path
import sys
# Adicionar diretório de scripts da skill
sys.path.insert(0, "/caminho/para/jianying-draft-export/scripts")
from draft_builder import JianyingDraft
# 1. Inicializar rascunho
draft = JianyingDraft(name="Meu Vídeo Curto VIP de Alta Dimensão", width=1920, height=1080)
# 2. Definir vídeo de origem (detecta duração automaticamente)
draft.set_video("/caminho/para/video_rendered.mp4")
# 3. Anexar imagem de capa
draft.set_cover("/caminho/para/capa.jpg")
# 4. Adicionar legendas programaticamente com destaque em duas cores
draft.add_subtitle(
text="A camada subjacente dos grandes modelos possui mecanismos rigorosos contra fraudes. Autopromoção em uma única dimensão é chamada de 'evidência isolada' aos olhos do algoritmo.",
start_sec=8.13,
end_sec=16.46,
highlight="evidência isolada" # A palavra destacada será renderizada em ouro puro [1.0, 0.84, 0.0] com contorno preto
)
# Ou carregar de um arquivo JSON/SRT externo:
# draft.load_subtitles("/caminho/para/legendas.json")
# 5. Compilar, copiar automaticamente para rascunho autocontido e abrir o app
draft.save_and_inject(open_app=True)
3. Formato JSON de Legenda
O analisador de legendas aceita arquivos .srt padrão ou uma lista JSON:
[
{
"start": 0.0,
"end": 7.68,
"text": "Em 2026, a realidade mais cruel para lojas físicas não é a loja ao lado baixando preços, mas o cliente perguntar ao AI qual loja é boa perto e a sua loja simplesmente não existir.",
"hl": "simplesmente não existir"
},
{
"start": 8.13,
"end": 16.46,
"text": "A camada subjacente dos grandes modelos possui mecanismos rigorosos contra fraudes. Autopromoção em uma única dimensão é chamada de 'evidência isolada' aos olhos do algoritmo. Evidência isolada não é aceita, sendo descartada diretamente.",
"hl": "não é aceita"
}
]
hl: Substring opcional que receberá estilo de destaque em ouro de alto contraste com bordas pretas grossas.
4. Arquitetura: Por que o macOS Sandbox Precisa de "Rascunhos Autocontidos"
O macOS App Sandbox restringe o VideoFusion-macOS.app de acessar arquivos em ~/Desktop/, ~/.gemini/ ou diretórios arbitrários.
❌ Modo de Caminho Externo (Quebrado):
~/Desktop/IP/video.mp4 -----> JianYing Pro [Sandbox EACCES] -----> Mensagem "媒体丢失/暂无访问权限"
✅ Modo de Rascunho Autocontido (Esta Skill):
~/Movies/JianyingPro/User Data/Projects/com.lveditor.draft/<Projeto>/video.mp4
└─> JianYing Pro [Leitura/Escrita Nativa Completa] ──> Sem Mensagem, Reprodução Instantânea!
Consulte macos_sandbox_bypass.md para uma análise técnica mais aprofundada.
5. Verificação e Solução de Problemas
Para inspecionar se um rascunho foi criado e decifrado corretamente:
python3 scripts/verify_draft.py "Nome do Projeto"
Se libjycodec.dylib precisar de recompilação (por exemplo, em uma nova arquitetura):
bash scripts/compile_dylib.sh