Communitygithub.com

0xsline/openchatcut

Utiliser lorsque l'appel d'un outil OpenChatCut échoue ou renvoie une forme inattendue.

Qu'est-ce que openchatcut ?

Ce skill est un guide de dépannage dédié aux développeurs qui construisent des workflows d'édition vidéo basés sur OpenChatCut, en particulier via son MCP externe. Il liste les erreurs connues et leurs solutions pour les appels d'outils comme `edit_item`, `push_asset`, et `import_media`. Par exemple, il explique le format correct des mises à jour (avec un champ `json` contenant un tableau `updates`), comment gérer les conflits de chronologie (en choisissant un `trackId` explicite), et les contraintes des chemins de ressources (seules les URL HTTP(S) publiques sont acceptées). Il couvre également les échecs de conversion vidéo côté navigateur, les exigences des graphiques animés, et les configurations de développement local. Le skill aide à éviter des erreurs récurrentes en fournissant des correctifs précis et des alternatives, ce qui permet aux agents IA de réessayer intelligemment ou de guider l'utilisateur sans boucles inutiles.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Erreurs connues

edit_item forme brute de mise à jour :

  • Faux : { "id": "abc", "fromFrame": 30 }
  • Correct : { "json": "{\"updates\":[{\"id\":\"abc\",\"fromFrame\":30}]}" }
  • Utilisez cette même forme updates pour les déplacements, rognures et modifications de piste courants.

edit_item forme brute d'ajout :

  • Le nouvel élément va dans le tableau adds de la transaction json : { "json": "{\"adds\":[{...}]}" }.
  • Utilisez edit_item pour un placement vidéo simple, par exemple { "json": "{\"adds\":[{\"type\":\"video\",\"assetId\":\"...\",\"fromFrame\":0}]}" }.

Chevauchement de chronologie :

  • Texte d'erreur : Overlap: updated item at ... would overlap existing item at ... on this track.
  • Ne forcez pas l'écriture et ne supprimez pas silencieusement l'élément en conflit.
  • Réessayez la transaction edit_item avec un trackId explicite disponible, par exemple une mise à jour contenant "trackId":"V2", ou demandez à l'utilisateur quelle couche doit gagner.

Restrictions de chemin d'espace de travail :

  • push_asset sur le MCP externe n'accepte que les URL http(s) publiques comme filePath. Il rejette les chemins locaux, les chemins d'espace de travail et les chemins de pièces jointes de discussion.
  • Pour les ressources graphiques animées, passez le code source JSX via create_motion_graphic_from_code({ code:"...", name, width, height, durationInFrames }). push_asset n'accepte plus un argument code en ligne.
  • Copier un média local dans l'espace de travail n'est pas la solution pour les importations vidéo/audio/image/GIF ; utilisez asset-import et import_media à la place.
  • Utilisez import_media action=create_session, puis exécutez l'assistant d'importation média d'OpenChatCut une fois avec le jeton renvoyé pour les fichiers détenus par le client.

Échec de conversion vidéo du navigateur :

  • Le texte d'erreur inclut souvent Unable to convert video without dropping audio/video tracks ou unknown_source_codec.
  • Relancez l'assistant d'importation média d'OpenChatCut ; il gère la conversion côté frontal et affichera une erreur exploitable par l'utilisateur si la conversion est impossible.
  • Ne demandez pas à l'utilisateur de réimporter le même fichier via l'interface éditeur comme solution de contournement — le chemin de conversion est le même, l'erreur se répétera. Corrigez la source (ré-encoder localement avec ffmpeg) ou choisissez un fichier différent.
  • Une fois l'actif de remplacement téléchargé/transcrit, supprimez l'actif original qui a échoué s'il est inutilisé. Le pool de médias final propre doit ressembler à une importation réussie, pas à une importation échouée plus un remplacement.

Exigences des graphiques animés :

  • push_asset(type:"motion-graphic") nécessite width, height et duration ou durationInFrames.
  • Le code MG doit passer le validateur OpenChatCut.
  • AbsoluteFill racine n'est pas valide pour le code MG généré ; utilisez un div racine avec mise à l'échelle.
  • Évitez de déclarer une variable locale de niveau supérieur nommée scale dans le code MG. Le validateur/runtime peut déjà réserver cet identifiant ; utilisez un nom spécifique comme uiScale.

Développement local avec Zero : mise en garde :

  • Lorsque le backend s'exécute sur un port non par défaut, utilisez une configuration de synchro-vue Zero correspondante.
  • Dans cette POC, le backend 3010, l'éditeur 5177 et le synchro-vue 4850 sont intentionnellement isolés de la pile plus ancienne 3000/5173/4848.

Mise en garde sur le rendu d'image de chronologie :

  • Si view_timeline_frames échoue pour une image, le chemin d'écriture du projet peut encore être sain — réessayez avec moins d'images ou un temps différent avant de conclure quoi que ce soit.
  • Les actifs encore sur les placeholders blob: (téléchargement en cours) s'affichent vides ; attendez track_progress target=upload avant de traiter un cadre vide comme un bug.
  • Ne signalez pas une preuve visuelle réussie à moins que l'outil ne renvoie un contenu d'image qui confirme visiblement l'image cible.

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.

Skills associés