Skip to content

Medios dentro del .hcmotion, glass, post-FX y texto girado - #29

Merged
jasp402 merged 1 commit into
mainfrom
feat/media-glass-post
Nov 2, 2026
Merged

jasp402 merged 1 commit into
mainfrom
feat/media-glass-post

Conversation

@jasp402

@jasp402 jasp402 commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Cierra las limitaciones que salieron al hacer el video de Goku por MCP.

1. Los archivos del usuario van dentro del .hcmotion

  • create_hcmotion acepta un parámetro nuevo, media: [{id, url}] (un enlace https público que descarga el servidor) o [{id, upload}].
  • Herramienta nueva, start_media_upload: abre una sesión de 24 h y devuelve:
    • un script con curl que manda cada archivo en partes de 3 MB (caben en el cuerpo de una función);
    • una página /m/<upload>/<key> donde el usuario suelta los archivos si el sandbox de la IA no llega al host (es lo que pasó en esta sesión).
  • El tipo de cada archivo se lee de sus bytes. Se aceptan imagen, video, audio y fuentes. Máx. 150 MB por archivo y 200 MB por proyecto; si se pasa, el error dice cuáles pesan más.
  • El archivo es un .hcmotion v2 con los medios en binario, mismo formato que el Studio (jasp402/HyperCodeMotion#90). Lo comprobé: un v2 hecho por el MCP abre con decodeHcmotion del Studio y al volver a guardarlo da los mismos bytes.
  • MEDIA_UNUSED avisa cuando se empaqueta un archivo que ninguna capa usa.
  • El cron borra las sesiones de subida caducadas (prefijo media/, aparte de files/).

2. Transición glass y composition.post

  • Aparecen en get_capabilities, en checkScenes y en el skill. Son la contraparte de jasp402/HyperCodeMotion#88 y #89.

3. Validador: texto girado

  • textfit mide la caja ya girada (todos los ángulos de sus keyframes). Una palabra vertical a 90° ya no da TEXT_OUTSIDE_CANVAS como si fuera horizontal. Si la rotación es una expresión, avisa de que no se pudo medir.

Antes de fusionar

  • Fusionar después de HyperCodeMotion#90. Si el Studio de producción no lee v2, los proyectos con medios no abren. Los proyectos sin medios siguen saliendo en v1.
  • Probar /d/<id> con un archivo de más de 4,5 MB en el Preview. Ahora se envía por trozos con res.write. No sé si Vercel acepta respuestas por streaming por encima de ese tope; si no, hay que redirigir a una URL firmada del Blob (presignUrl).
  • Subí maxDuration de api/mcp.js a 120 s, porque descargar y empaquetar hasta 200 MB lleva tiempo.

Generated by Claude Code

…irado

- create_hcmotion acepta media: [{id, url}] (enlace https público que el servidor
  descarga) o [{id, upload}] (archivos enviados con start_media_upload). Van en
  binario dentro del .hcmotion v2 (mismo formato que el Studio); máx. 150 MB por
  archivo y 200 MB por proyecto; el tipo se lee de los bytes.
- start_media_upload: sesión de subida de 24 h con script curl por partes y una
  página donde el usuario suelta los archivos (/m/<upload>/<key>). El cron las borra.
- /d/<id>: lee el nombre de un v2 y envía los archivos grandes por trozos.
- Transición glass y composition.post en get_capabilities, validador y skill.
- textfit mide el texto girado con su caja girada (una palabra vertical a 90°
  ya no se rechaza como si fuera horizontal).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Qqm6dfUskArmmLSYZhTNgR
@vercel

vercel Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
hypercodemotion-mcp-service Ready Ready Preview Nov 2, 2026 10:49pm UTC

@jasp402
jasp402 merged commit 263f863 into main Nov 2, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — 3f063839 Deployed Nov 2, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants