Communitygithub.com

0xsline/openchatcut

Use quando uma chamada de ferramenta do OpenChatCut falha ou retorna uma forma inesperada.

O que é openchatcut?

Esta habilidade é um guia de referência para desenvolvedores que utilizam o OpenChatCut, detalhando erros comuns e suas soluções. Ela cobre problemas como formato incorreto em chamadas `edit_item` (raw shape), conflitos de sobreposição na timeline, restrições de caminho de workspace, e falhas na conversão de vídeo pelo navegador. A habilidade também especifica requisitos para motion graphics, como o uso de `push_asset` com parâmetros corretos, e fornece dicas para desenvolvimento local com portas isoladas e para renderização de frames. É útil para corrigir rapidamente chamadas de API, evitar loops de erros e garantir que a integração com o MCP externo funcione corretamente, especialmente ao importar mídia ou criar ativos programaticamente.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Erros Conhecidos

Formato raw ao atualizar via edit_item

  • Errado: { "id": "abc", "fromFrame": 30 }
  • Correto: { "json": "{\"updates\":[{\"id\":\"abc\",\"fromFrame\":30}]}" }
  • Use esta mesma estrutura de updates para movimentos, cortes e alterações de faixa comuns.

Formato raw ao adicionar via edit_item

  • O novo item vai dentro do array adds da transação json: { "json": "{\"adds\":[{...}]}" }.
  • Use edit_item para colocação simples de vídeo, por exemplo { "json": "{\"adds\":[{\"type\":\"video\",\"assetId\":\"...\",\"fromFrame\":0}]}" }.

Sobreposição na timeline

  • Texto de erro: Overlap: updated item at ... would overlap existing item at ... on this track.
  • Não force a gravação nem exclua o item conflitante silenciosamente.
  • Repita a transação edit_item com um trackId explícito disponível, por exemplo uma atualização contendo "trackId":"V2", ou pergunte ao usuário qual camada deve prevalecer.

Restrições de caminho do workspace

  • push_asset no MCP externo aceita apenas URLs http(s) públicas como filePath. Rejeita caminhos locais, caminhos do workspace e caminhos de anexos do chat.
  • Para ativos de motion graphics, passe o código JSX via create_motion_graphic_from_code({ code:"...", name, width, height, durationInFrames }). push_asset não aceita mais um argumento code inline.
  • Copiar mídia local para o workspace não resolve a importação de vídeo/áudio/imagem/GIF; use asset-import e import_media em vez disso.
  • Use import_media action=create_session e depois execute o auxiliar de importação de mídia do OpenChatCut uma vez com o token retornado para arquivos mantidos pelo cliente.

Falha na conversão de vídeo no navegador

  • O texto de erro geralmente inclui Unable to convert video without dropping audio/video tracks ou unknown_source_codec.
  • Reexecute o auxiliar de importação de mídia do OpenChatCut; ele gerencia a conversão alinhada ao frontend e exibirá um erro acionável pelo usuário se a conversão for impossível.
  • Não peça ao usuário para reimportar o mesmo arquivo através da interface do editor como alternativa — o caminho de conversão é o mesmo, o erro se repetirá. Corrija a fonte (reencodifique localmente com ffmpeg) ou escolha um arquivo diferente.
  • Após o ativo substituto ser enviado/transcrito, exclua o ativo original com falha se ele não estiver em uso. O pool final de mídia limpo deve parecer uma importação bem-sucedida, não uma importação com falha mais um substituto.

Requisitos para Motion Graphics

  • push_asset(type:"motion-graphic") requer width, height e duration ou durationInFrames.
  • O código MG deve passar pelo validador do OpenChatCut.
  • AbsoluteFill raiz não é válido para código MG gerado; use um div raiz com escala.
  • Evite declarar uma variável local de nível superior chamada scale dentro do código MG. O validador/ runtime pode já reservar esse identificador; use um nome específico como uiScale.

Ressalva para desenvolvimento local com Zero

  • Quando o backend roda em uma porta não padrão, use uma configuração de view-syncer Zero correspondente.
  • Nesta POC, o backend 3010, o editor 5177 e o view-syncer 4850 estão intencionalmente isolados da pilha antiga 3000/5173/4848.

Ressalva do renderizador de frames da timeline

  • Se view_timeline_frames falhar para um frame, o caminho de gravação do projeto ainda pode estar saudável — repita com menos frames ou um horário diferente antes de concluir algo.
  • Ativos ainda em placeholders blob: (upload em andamento) renderizam como vazios; aguarde track_progress target=upload antes de tratar um frame em branco como um bug.
  • Não relate sucesso de prova visual a menos que a ferramenta retorne conteúdo de imagem que confirme visivelmente o frame alvo.

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.

Habilidades Relacionadas