Communitygithub.com

0xsline/openchatcut

OpenChatCut 프로젝트의 미디어를 획득하거나 가져올 때 사용합니다. 로컬/첨부 비디오, 사용자 제공 경로, 공개 미디어 URL, 웹 비디오/오디오/이미지 자산, 업로드 대체 결정, import_media/download_media 또는 수동 사용자 작업 선택 등을 포함한 비디오 편집 또는 제작을 위한 에셋 라이브러리입니다.

openchatcut란 무엇인가요?

이 스킬은 OpenChatCut 에디터와 미디어 서버가 로컬에서 실행되는 환경에서 에셋을 프로젝트로 가져오는 세 가지 경로를 정의합니다. 첫 번째 경로는 사용자의 로컬 파일을 에디터 UI로 직접 드래그 앤 드롭하거나 업로드 버튼을 통해 가져오는 방법으로, 에이전트는 사용자 파일 시스템에 접근할 수 없으므로 경로를 알려주면 사용자에게 드롭을 요청합니다. 두 번째 경로는 에이전트가 `download_media` 도구를 사용해 공개 URL에서 미디어를 직접 다운로드하는 방식입니다. 세 번째 경로는 `import_media`를 호출해 업로드 세션을 생성하고, 외부 호스트에서 사전 선언된 바이트 수, MIME 타입 등의 조건에 맞춰 업로드한 후 `finalize_uploaded_asset`으로 마무리하는 것입니다. 이 스킬은 원본 소스 에셋을 타임라인에서 구성하는 편집 규율을 강조하며, 미리 연결하거나 트랜스코딩하지 않고 모든 구성을 타임라인에서 수행하도록 합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/0xsline/openchatcut/tree/HEAD/src/agent/skills/asset-import

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

에셋 가져오기

이 빌드는 에디터와 미디어 서버를 로컬에서 실행합니다. 호스팅된 가져오기 API, CLI, OAuth는 없습니다. 미디어는 에디터 UI 또는 아래 에이전트 도구를 통해 프로젝트에 들어옵니다. 바이트가 있는 위치에 따라 경로를 선택하세요.

경로 1 — 사용자 로컬 파일 (기본)

사용자에게 파일을 에디터(미리보기 캔버스 또는 내 자료 패널)로 드래그하거나 업로드 버튼을 사용하도록 요청하세요. 그러면 로컬 파이프라인이 자동으로 실행됩니다: 스트리밍 쓰기 → /media/uploads/에 저장, 조건부 트랜스코딩(최대 1920px 긴 쪽, 브라우저 호환 코덱, ~8Mbps), 오디오 추출, 자동 전사(ASR은 업로드 시 시작). 사용자에게 직접 변환, 자르기, 트랜스코딩을 요청하지 마세요 — 파이프라인이 처리합니다.

에이전트는 사용자의 파일 시스템을 읽을 수 없습니다. 사용자가 /Users/... 또는 C:\... 경로를 제공하면 해당 파일을 에디터에 드롭하도록 안내하세요. 에이전트는 가져올 수 없습니다.

경로 2 — 공개 URL (에이전트 주도)

단일 URL 또는 배치 배열과 함께 download_media를 사용하세요. 서버가 가져와서 /media/uploads/에 저장하고 풀 에셋을 등록합니다. 사용자가 가리킨 스톡/웹 미디어에 이 방법을 선호하세요. 다운로드 후 에셋은 다른 미디어 풀 에셋과 동일하게 동작합니다.

경로 3 — 외부 호스트 전송

import_media를 {"action":"create_session", "assetType":..., "filename":..., "contentType":..., "size":...}와 함께 호출하세요. 이 호출은 현재 프로젝트, 세션, 에셋 ID, 기본 이름, POST, MIME 타입, 정확한 바이트 수에 바인딩된 단기 업로드 슬롯을 반환합니다. 호스트 측 스크립트는 선언된 헤더와 함께 해당 정확한 URL로 업로드할 수 있습니다. 에이전트 샌드박스는 사용자의 localhost에 도달할 수 없으므로 run_code로 전송을 시도하지 마세요.

성공적인 업로드 응답은 불투명한 영수증, 에코된 assetType, 업로드된 경로를 반환합니다. 정확한 지속 시간, 크기, fps, 오디오 유무가 필요할 때 업로드된 경로를 조사한 후, finalize_uploaded_asset을 영수증, 에코된 assetType, 측정된 미디어 메타데이터 및 오디오/비디오/gif의 경우 durationInSeconds와 함께 호출하세요. 서버는 권위 있는 해시, 경로, 크기, 파일 이름, 에셋 ID를 해결합니다. Finalize는 에셋을 커밋하지만 ASR을 시작하지 않습니다. 오디오/비디오 에셋을 트랙에 배치한 후 전사가 필요한 경우 별도로 transcribe_track을 호출하세요. Finalize가 성공하기 전에는 에셋이 존재하지 않거나 사용할 수 없습니다. 누락된 미디어를 교체하려면 기존 assetId를 import_media에 전달하고, 새 에셋의 경우 생략하세요. 직접 /media/uploads/...를 구성하거나 업로드 응답 전에 바이트가 준비되었다고 주장하지 마세요.

편집 규율

다중 소스 편집의 경우 OpenChatCut 타임라인에서 원본 소스 에셋으로 검토 가능한 작업을 구축하세요. 가져오기 전에 로컬에서 연결, 사전 트림, 사전 구성, 캡션 굽기 또는 미디어 평탄화를 하지 마세요 — 원본을 가져와 모든 구성을 타임라인에서 수행하여 모든 단계가 검토 가능하고 취소 가능하도록 유지하세요.

Motion Graphics와 같은 코드 에셋의 경우 create-motion-graphics 스킬(create_motion_graphic_from_code 신규 에셋, 편집을 위한 에셋 코드 업데이트)을 사용하세요 — MG 코드는 가져온 파일이 아닙니다.

저장소 참고 사항

  • 바이트는 로컬 디스크(/media/uploads/)에 저장되며 Range 지원과 함께 직접 제공됩니다. Cloudflare R2가 구성된 경우 업로드는 R2로 미러링되고 다른 기기에서 가져올 수 있습니다. R2 없이 프로젝트는 로컬 전용입니다.
  • 로컬 전용은 유효한 최종 상태입니다: 미리보기, 편집, 내보내기 모두 디스크에서 읽습니다. 클라우드 미러링은 기기 간 접근에만 필요합니다.

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

0xsline/openchatcut

Connect an MCP-capable coding agent to OpenChatCut and edit local video projects. Use when the user asks to install, connect, or set up OpenChatCut; inspect or edit an OpenChatCut project; work with its timeline, transcript, captions, media, generation, motion graphics, audio, color, or export tools; or recover from an OpenChatCut MCP error.

0xsline/openchatcut

Use when a OpenChatCut video editing or creation workflow needs export, render, download, share, final delivery, subtitle-file export, render choice, local-only asset handling, or export fallback explanation.

0xsline/openchatcut

AI image generation via Fal.ai, gpt-image-2, nano-banana, MiniMax image-01, and xAI Grok Imagine. Use when the user wants to generate or create an image / picture / still.

0xsline/openchatcut

Use when a OpenChatCut tool call fails or returns an unexpected shape.

0xsline/openchatcut

Music generation via Mureka, MiniMax, Atlas Cloud, and Sonilo. Use for instrumentals, songs, soundtracks, track/stem generation, covers, or video-conditioned scoring of the finished cut through `submit_music`.

0xsline/openchatcut

OpenChatCut product knowledge — UI layout, editor features, and how generation providers are configured. Use when the user asks about the product interface, how to use a feature, where to find something, or needs GUI guidance for something the agent cannot do directly. Also use as fallback when a task fails and the user needs to complete it manually in the UI. NOT for live project-state queries ("where are my folders?", "what's on my timeline?", "where is clip X?") — those are answered by `read_project`, not by this skill.

0xsline/openchatcut

AI shader generator for WebGL video effects, transitions, masks, and color grading (LUT / 调色 / 电影感 / film look). Use when the user wants a video effect (滤镜 / 特效), a transition (转场 / crossfade / wipe / cube / 3d), a mask (蒙版 / 遮罩 / reveal), a zoom / push-in (推近 / 推镜头), or a color grade — try the built-in effects (zoom, builtin LUTs) before generating a new shader.

0xsline/openchatcut

Use when checking whether agent edits are reflected in the OpenChatCut project and editor.

0xsline/openchatcut

AI video generation via Fal.ai, Seedance 2.0, Kling, MiniMax Hailuo, xAI Grok Imagine, and OFox. Use when the user wants to generate a video clip — text-to-video, image-to-video, first/last-frame transitions, reference-guided generation, multi-shot, or generatively editing / extending an existing clip.

0xsline/openchatcut

Text-to-Speech (TTS), voiceover, narration placement/sync, and custom sound effects (SFX) generator. Use when the user wants generated speech from text, wants to add/replace/align narration or voiceover for an existing video/timeline, wants to keep existing voiceover synced after visual retiming edits, needs voice audition/selection, or explicitly wants a newly generated/custom sound effect that is not available in the Sound Effects library.

0xsline/openchatcut

Use when the agent should ask the user for structured input with an in-chat form, including single-select, multi-select, text fields, style pickers, or voice audition choices.

관련 스킬