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
updatespour les déplacements, rognures et modifications de piste courants.
edit_item forme brute d'ajout :
- Le nouvel élément va dans le tableau
addsde la transactionjson:{ "json": "{\"adds\":[{...}]}" }. - Utilisez
edit_itempour 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_itemavec untrackIdexplicite 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_assetsur le MCP externe n'accepte que les URL http(s) publiques commefilePath. 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_assetn'accepte plus un argumentcodeen 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-importetimport_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 tracksouunknown_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écessitewidth,heightetdurationoudurationInFrames.- Le code MG doit passer le validateur OpenChatCut.
AbsoluteFillracine n'est pas valide pour le code MG généré ; utilisez undivracine avec mise à l'échelle.- Évitez de déclarer une variable locale de niveau supérieur nommée
scaledans le code MG. Le validateur/runtime peut déjà réserver cet identifiant ; utilisez un nom spécifique commeuiScale.
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'éditeur5177et le synchro-vue4850sont intentionnellement isolés de la pile plus ancienne3000/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 ; attendeztrack_progresstarget=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.