Communitygithub.com

0xsline/openchatcut

OpenChatCut 도구 호출이 실패하거나 예상치 못한 형태를 반환할 때 사용합니다.

openchatcut란 무엇인가요?

이 스킬은 OpenChatCut 에디터와 상호작용 중 발생하는 일반적인 오류와 예외 상황을 처리하기 위한 가이드입니다. 사용자가 편집 명령을 실행할 때 잘못된 JSON 구조, 타임라인 충돌, 자산 가져오기 실패 등 다양한 오류가 발생할 수 있습니다. 이 스킬은 각 오류에 대한 구체적인 해결 방법을 제시하며, 특히 `edit_item` 호출에서 올바른 raw shape를 사용하는 방법과 타임라인 오버랩 문제 해결, 브라우저 비디오 변환 실패 시 대처법 등을 다룹니다. 또한 모션 그래픽 자산 추가 시 필수 매개변수와 코드 검증 규칙, 로컬 개발 환경에서의 Zero 설정 주의사항, 타임라인 프레임 렌더링 실패 시 진단 방법 등을 포함합니다. 개발자는 이 가이드를 참고하여 OpenChatCut MCP 도구의 안정적인 사용과 오류 복구를 수행할 수 있습니다.

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

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

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

문서

알려진 오류

edit_item 업데이트 raw shape:

  • 잘못됨: { "id": "abc", "fromFrame": 30 }
  • 올바름: { "json": "{\"updates\":[{\"id\":\"abc\",\"fromFrame\":30}]}" }
  • 일반적인 이동, 트림 및 트랙 변경에도 동일한 updates shape를 사용하십시오.

edit_item 추가 raw shape:

  • 새 항목은 json 트랜잭션의 adds 배열 안에 들어갑니다: { "json": "{\"adds\":[{...}]}" }.
  • 간단한 비디오 배치에는 edit_item을 사용하십시오. 예: { "json": "{\"adds\":[{\"type\":\"video\",\"assetId\":\"...\",\"fromFrame\":0}]}" }.

타임라인 오버랩:

  • 오류 텍스트: Overlap: updated item at ... would overlap existing item at ... on this track.
  • 쓰기를 강제하거나 충돌하는 항목을 조용히 삭제하지 마십시오.
  • 명시적인 사용 가능한 trackId(예: "trackId":"V2"를 포함한 업데이트)로 edit_item 트랜잭션을 재시도하거나, 사용자에게 어떤 레이어가 우선해야 하는지 물어보십시오.

작업공간 경로 제한:

  • 외부 MCP의 push_asset은 filePath로 공개 http(s) URL만 허용합니다. 로컬 경로, 작업공간 경로 및 채팅 첨부 파일 경로를 거부합니다.
  • 모션 그래픽 자산의 경우 create_motion_graphic_from_code({ code:"...", name, width, height, durationInFrames })를 통해 JSX 소스를 전달하십시오. push_asset은 더 이상 인라인 code 인수를 허용하지 않습니다.
  • 로컬 미디어를 작업공간에 복사하는 것은 비디오/오디오/이미지/GIF 가져오기에 대한 해결책이 아닙니다. 대신 asset-import와 import_media를 사용하십시오.
  • import_media action=create_session을 사용한 후, 클라이언트가 보유한 파일에 대해 반환된 토큰으로 OpenChatCut 미디어 가져오기 헬퍼를 한 번 실행하십시오.

브라우저 비디오 변환 실패:

  • 오류 텍스트에는 종종 Unable to convert video without dropping audio/video tracks 또는 unknown_source_codec이 포함됩니다.
  • OpenChatCut 미디어 가져오기 헬퍼를 다시 실행하십시오. 이 헬퍼는 프론트엔드 정렬 변환을 담당하며, 변환이 불가능한 경우 사용자가 조치할 수 있는 오류를 표시합니다.
  • 해결 방법으로 사용자에게 동일한 파일을 편집기 UI를 통해 다시 가져오도록 요청하지 마십시오. 변환 경로는 동일하며 오류가 반복됩니다. 소스를 수정하거나(ffmpeg로 로컬에서 재인코딩) 다른 파일을 선택하십시오.
  • 대체 자산이 업로드/전사된 후, 사용되지 않는 실패한 원본 자산을 삭제하십시오. 최종 미디어 풀은 실패한 가져오기와 대체 자산이 아닌, 성공적인 가져오기처럼 보여야 합니다.

모션 그래픽 요구 사항:

  • push_asset(type:"motion-graphic")에는 width, height, duration 또는 durationInFrames가 필요합니다.
  • MG 코드는 OpenChatCut 검증기를 통과해야 합니다.
  • 생성된 MG 코드에는 루트 AbsoluteFill이 유효하지 않습니다. 대신 스케일링 루트 div를 사용하십시오.
  • MG 코드 내에서 최상위 로컬 변수 이름으로 scale을 선언하지 마십시오. 검증기/런타임에서 이미 해당 식별자를 예약했을 수 있습니다. uiScale과 같은 특정 이름을 사용하십시오.

로컬 개발 Zero 주의사항:

  • 백엔드가 기본 포트가 아닌 포트에서 실행될 때는 일치하는 Zero 뷰-싱크 구성(config)을 사용하십시오.
  • 이 POC에서는 백엔드 3010, 편집기 5177, 뷰-싱크 4850이 이전 3000/5173/4848 스택과 의도적으로 격리되어 있습니다.

타임라인 프레임 렌더러 주의사항:

  • view_timeline_frames가 한 프레임에 대해 실패하더라도 프로젝트 쓰기 경로는 여전히 정상일 수 있습니다. 결론을 내리기 전에 더 적은 프레임이나 다른 시간으로 재시도하십시오.
  • blob: 플레이스홀더(업로드 진행 중)에 있는 자산은 빈 상태로 렌더링됩니다. 빈 프레임을 버그로 간주하기 전에 track_progress target=upload가 완료될 때까지 기다리십시오.
  • 도구가 대상 프레임을 시각적으로 확인하는 이미지 콘텐츠를 반환하지 않으면 시각적 증명 성공을 보고하지 마십시오.

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 acquiring or importing media into a OpenChatCut project asset library for video editing or creation, including local/attached videos, user-provided paths, public media URLs, web video/audio/image assets, upload fallback decisions, and deciding between import_media, download_media, or manual user action.

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

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.

관련 스킬