Reel → CapCut 초안
필요 사항: 빌드된 릴(reelsmith build <dir>), CapCut MCP 서버(capcut, 이 플러그인의 .mcp.json에 번들; /mcp를 통해 한 번 로그인), 그리고 업로더와 초안 빌더를 위한 CapCut 자체 플러그인 번들이 디스크에 있어야 합니다($(reelsmith root)/docs/capcut.md 참조, CAPCUT_PLUGIN_DIR 환경 변수, 기본값 ~/capcut-plugin).
단계
reel.json에"sfx"추가 — 화면 이벤트당 하나의 항목:라이브러리 이름:"sfx": [{"name": "whoosh", "t": 6.9, "vol": 0.5}, {"name": "click", "t": 30.62, "vol": 0.5}, {"name": "typing", "t": 2.5, "vol": 0.35, "dur": 1.4}, {"name": "my_sounds/rip.mp3", "t": 15.36}]whoosh,whoosh-short,pop,typing,click,sparkle,coin,chime,impact,shutter,ding(ID는engine/capcut.py에 있음). 그 외의 것은 스템과 함께 업로드되는 사용자 소유의 로컬 오디오 파일입니다.reelsmith capcut stems <dir>→out/capcut/{video.mp4, voice.wav, music.wav}+files.json. 음성과 음악은 하나의 게인(합계 = −14 LUFS)과 리미터를 공유합니다. 음악은 이미 음성 아래에서 덕킹(ducking)되어 있습니다.- 업로드:
capcut_asset_upload_credential을version: 2와 모든 파일의 정확한file_name+size_bytes로 호출합니다(직전에 크기를 다시 확인하세요. 불일치 시upload_files_mismatch오류 발생). 그런 다음printf '%s' <ticket> | node "${CAPCUT_PLUGIN_DIR:-$HOME/capcut-plugin}"/x/plugins/codex/skills/capcut-upload/scripts/capcut-upload.mjs --files "$(cat out/capcut/files.json)" --upload-ticket-stdin --json > out/capcut/upload.json reelsmith capcut draft <dir>→out/capcut/draft.json(검증됨).start_stdraft_session→push_stdraft_snapshot을base_package_id: ""와 초안 JSON과 함께 호출합니다. 창작자에게web_editor_url을 제공합니다.- 다시 푸시하기 전에
get_stdraft_snapshot을 호출하고 그 위에 빌드합니다 — 창작자가 초안을 편집했을 수 있습니다(읽기-되돌리기는 손실이 있습니다. 절대 변경 사항을 맹목적으로 덮어쓰지 마십시오). 작은 수정(음악 테일 자르기, 볼륨)은 Chrome에서 Claude를 통해 편집기에서 직접 수행하는 것이 좋습니다.
창작자에게 알릴 사항
- 먼저 들어보세요: CapCut 라이브러리 사운드가 타임라인에 배치되지만 소리가 나지 않는 것으로 보고되었습니다. 그렇다면 오디오 → 사운드 효과에서 교체하거나 로컬 파일을 사용하세요.
- 음악: 플레이스홀더 스템을 음소거하고 귀로 라이브러리 트랙을 선택하세요. 비디오 길이에 맞게 트리밍하세요(더 긴 트랙은 내보내기에 검은색 테일을 추가합니다).
- 내보내기(오른쪽 상단 → 다운로드, 1080p / 30fps / MP4)는 먼저 CapCut 클라우드에 저장됩니다. 클라우드 공간이 가득 차면 "Couldn't save" 오류로 내보내기가 실패합니다 — CapCut 공간을 비우거나 엔진의 MP4를 유지하세요.
- 커넥터 자체 사운드 검색(
search_capcut_material)은 미리보기 없는 제목 검색이 좋지 않습니다. 전체 사운드 라이브러리는 CapCut 앱에만 있습니다.