{"_id":"@altavinci/cli","_rev":"10-53ed53cf4dff4dcaf22eaacb76709b68","name":"@altavinci/cli","dist-tags":{"latest":"0.0.10"},"versions":{"0.0.1":{"name":"@altavinci/cli","version":"0.0.1","license":"UNLICENSED","_id":"@altavinci/cli@0.0.1","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"a79bf846d322a3087726f510af9640476ff3431c","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.1.tgz","fileCount":45,"integrity":"sha512-hj6P/FX/OPpxr/svrEhZUDkeHmfKOOg7yPfK9c0dw7LXeKSHmUe7uE2WIy2KnzVPOv8CmsaiY/RbDX+oDZl9RA==","signatures":[{"sig":"MEUCIQDeCTCptYQZEt9+PsaAtvaAb33/miR8uq3Oz6oGy2X51QIgWQSxZFa5f+w7eWgfaQYyG0y9ZiQ84VzMeo0mYjLzDs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311109},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"bbee764363f881d7ffee1423fa30fb5ac89747a5","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.1_1780851006129_0.6579341652077801","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@altavinci/cli","version":"0.0.2","license":"UNLICENSED","_id":"@altavinci/cli@0.0.2","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"2e295243b20f57f8627d4c2b85ed77760fb75cc6","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.2.tgz","fileCount":45,"integrity":"sha512-Yy0RCi4+4wTlYGubWijtDrQc2gKQ1TKerl09SUgbL8UZI9Q42C7DFakCixvZp11dV2Y+iBTsjelHoJIY/n3Wgw==","signatures":[{"sig":"MEQCIBfvMky+qMMyYIEC5tyMOOm7Y6S5QW3cFiL7GYre7/lBAiAOuF2x7BaxhiULfVTeAc6sePJrsq+hNnfmB5imD/ZG+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310399},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"bbee764363f881d7ffee1423fa30fb5ac89747a5","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.2_1780851100201_0.5126592414410416","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@altavinci/cli","version":"0.0.3","license":"UNLICENSED","_id":"@altavinci/cli@0.0.3","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"52742e9fcf1eb9c54eb764bcfed360702f41ddbc","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.3.tgz","fileCount":46,"integrity":"sha512-87tCewqKmijHKRe+nzyvulrjbf8G6/t1pc4civRIY99MBX3OqbKQuVPfR1jMjXKImxXUeKlZ3nkr0g5Q55udBw==","signatures":[{"sig":"MEYCIQDCYTJLI6IkYSh86GOmWrGZ+3FsAu3QKPwJt4yhvoO6RwIhALh1Dml8vkXrSlz2llmnWf53VCszkchEdTT7FH1gJd2Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":351701},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"c634442d349fd9aab116a7b5c35a990c3c0d7126","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.3_1781977015945_0.1024943699256029","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@altavinci/cli","version":"0.0.4","license":"UNLICENSED","_id":"@altavinci/cli@0.0.4","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"1febf73979171180d7af001f794803cda22ba834","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.4.tgz","fileCount":46,"integrity":"sha512-pSG4DHCvxktn40n4fq3tWDbAB5eNotaUAd3YrK3r9giMDKUzWWT4HO6gE1Y29WVsg2hTXnm7338sXUmVbiXgIA==","signatures":[{"sig":"MEQCIHGum3icqQ2+mDdswyXTN3T2hdS6mw0eiewWpWv20L5OAiBrBSEIhKYlqsJgaTQMzTNf2vAMe2F2knJKw8i9uaSh/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354563},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"c634442d349fd9aab116a7b5c35a990c3c0d7126","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.4_1781977834183_0.29190274754047274","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@altavinci/cli","version":"0.0.5","license":"UNLICENSED","_id":"@altavinci/cli@0.0.5","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"0a19cd035182fd01f914747709fcd96c79182e11","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.5.tgz","fileCount":46,"integrity":"sha512-zwMMeuUMTJLJbhWAnpls8xF77SnZzNeGBgIWJQ+HpLsEtgZET25sTEAfouV/TDA+P5Gj3X4ta5X7nwQQnWOUow==","signatures":[{"sig":"MEUCIQCdwkYBWnuqsIvOHCtsFoG/D5JE8fX+4ilZkIf9250O9AIgdQ5m+zDPX6E98MCeANkcp7fFsA1f5C9IlV8HBpHGaCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":363144},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"1e8fae7e8127bcb1bc785575dcf51049a67adb6f","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.5_1782143876334_0.21263002388719787","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@altavinci/cli","version":"0.0.6","license":"UNLICENSED","_id":"@altavinci/cli@0.0.6","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"5240238822203f14ec556a7b5e8e5f0f79b909d7","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.6.tgz","fileCount":46,"integrity":"sha512-qLtqrksINAfosrr81XiYCAX6n2peYhDiA/cPj7S4aELtPZJm1j4SOVeRx80ors3dsAZ+46aH3Eq87SJOFrHh1g==","signatures":[{"sig":"MEYCIQCbopHq+k6sPoOdIH2lcgD2I+uiQz77o7M6sc0trkAD6wIhAKzJzbJG9tPek/FSHIqZRwt6WMH3PIBpAP594/sE/GqC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368912},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"8c05cf1761fb9976ec0ef155ea0160f040060b0b","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.6_1782398094929_0.07003584661448348","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@altavinci/cli","version":"0.0.7","license":"UNLICENSED","_id":"@altavinci/cli@0.0.7","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"e3dbba8357454b9fa61c10092778dacb7eba423b","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.7.tgz","fileCount":46,"integrity":"sha512-jRW/MiI4ekqakAnMB5zn1VWvrevXgBMY2KhIBM8iV+3vsAmHt/vxvGKyl987ZYg1k8F2dPgGOnsTdwr84ZPS/g==","signatures":[{"sig":"MEYCIQCNWl3MpKc9l8aKqfTTzQR3q/PxXTF4+CBIhyzu0g0IhQIhAJp1thAip7NjAcejKzukV2xJdS+JsMN3amzuoYjq5g9g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369228},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"209864cf927260009c81a833fc017a8a72e7284b","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.7_1782402593415_0.6534182736827407","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@altavinci/cli","version":"0.0.8","license":"UNLICENSED","_id":"@altavinci/cli@0.0.8","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"edf6c1b841b5577951fbc4b9bbdc3ab308368810","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.8.tgz","fileCount":46,"integrity":"sha512-kcUaQ8eiHcM7WJkRQ/MueFjJnTVH+iHx6u0xX3A9RnSPRUKw+OYHR42ke3P8dk+OYeTi9iBWFiI6iB8SdFEQfA==","signatures":[{"sig":"MEQCICZHNevPXq5SralPGksBvKQwDepK8rhAteTlXNiHr+CvAiAfYTjBzgIFyIIt+BZenDU6M7fkH33aNVdKTzi/+Gwzcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369796},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"b39056269b0d2b8751c5476635aed3c4f8c604c9","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.8_1782646105849_0.7893950087329424","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@altavinci/cli","version":"0.0.9","license":"UNLICENSED","_id":"@altavinci/cli@0.0.9","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"homepage":"https://github.com/1bye/altavinci#readme","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"bin":{"alt":"bin/alt.js"},"dist":{"shasum":"c3d70678d9b65c0681dcc92defb8b777b951bba1","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.9.tgz","fileCount":46,"integrity":"sha512-fG6ZRdp6+yBpcsnZl7guH3P+NjFuKBMUn23N/V53TdvTWOWdlE2HibFCVT+TvTByZqnDiTeA/eHMimM2lPYuQw==","signatures":[{"sig":"MEUCIH1jJnBslKfdTWeeTWFfdTM6PHxh+JyQxJd0YT9BHLY5AiEAom9q3ULI5XXXgh6R7x7SY+FJUq9P2TV14lyIHNf+4aE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369796},"type":"module","engines":{"node":">=18"},"exports":{".":"./index.mjs"},"gitHead":"b39056269b0d2b8751c5476635aed3c4f8c604c9","_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"repository":{"url":"git+https://github.com/1bye/altavinci.git","type":"git"},"_npmVersion":"11.12.1","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.18.0","zod":"^4.1.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.9_1782646270223_0.15374187309943466","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@altavinci/cli","version":"0.0.10","description":"Altavinci command line tools for scene diagnostics and deterministic frame export","type":"module","bin":{"alt":"bin/alt.js"},"exports":{".":"./index.mjs"},"dependencies":{"zod":"^4.1.13","ws":"^8.18.0"},"engines":{"node":">=18"},"license":"UNLICENSED","repository":{"type":"git","url":"git+https://github.com/1bye/altavinci.git"},"gitHead":"f671a915fdd2daea72b1c3fdcfbae28cbe26b545","_id":"@altavinci/cli@0.0.10","bugs":{"url":"https://github.com/1bye/altavinci/issues"},"homepage":"https://github.com/1bye/altavinci#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-AsSwJm0erZrTo34IasgW4ettVZtFpGVUcjw6Xq3zblYO7sDlb4QGdLUqGuWODbsZBMpp6xK1b/mRj+f2YEYIZA==","shasum":"f693f35c2a0b0f7819e6121481fb47ac1711c53d","tarball":"https://registry.npmjs.org/@altavinci/cli/-/cli-0.0.10.tgz","fileCount":67,"unpackedSize":468139,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCzLiV1PsCPa756SdTTro7sYetvG9SqungJDmkjfTmB4gIhALKoBNMLHV3ggrzJB/QA1wovGbPp8Ugn+YusX9EsNT3y"}]},"_npmUser":{"name":"1bye","email":"URiiGulick32@gmail.com"},"directories":{},"maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.0.10_1783624590141_0.7706820091104738"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-07T16:50:05.929Z","modified":"2026-07-09T19:16:30.439Z","0.0.1":"2026-06-07T16:50:06.265Z","0.0.2":"2026-06-07T16:51:40.413Z","0.0.3":"2026-06-20T17:36:56.073Z","0.0.4":"2026-06-20T17:50:34.323Z","0.0.5":"2026-06-22T15:57:56.458Z","0.0.6":"2026-06-25T14:34:55.119Z","0.0.7":"2026-06-25T15:49:53.580Z","0.0.8":"2026-06-28T11:28:26.039Z","0.0.9":"2026-06-28T11:31:10.378Z","0.0.10":"2026-07-09T19:16:30.300Z"},"bugs":{"url":"https://github.com/1bye/altavinci/issues"},"license":"UNLICENSED","homepage":"https://github.com/1bye/altavinci#readme","repository":{"type":"git","url":"git+https://github.com/1bye/altavinci.git"},"description":"Altavinci command line tools for scene diagnostics and deterministic frame export","maintainers":[{"name":"1bye","email":"URiiGulick32@gmail.com"}],"readme":"# @altavinci/cli\n\nNode-compatible command-line tools for Altavinci scene diagnostics and deterministic frame export.\n\n## Install\n\n```sh\nnpx @altavinci/cli --help\n```\n\nInstalled bin:\n\n```sh\nalt <command>\n```\n\nDevelopment from the workspace root:\n\n```sh\nbun packages/cli/src/index.ts <command>\n```\n\n## Commands\n\n```sh\nalt init <name> [--json]\nalt compile <scene.html> [--json]\nalt frame <scene.html> --at <time> --out <file.png> [--json] [--width 1920] [--height 1080] [--scale 1] [--bridge-port <port>]\nalt frames <scene.html> --at <time,time,...> --out-dir <dir> [--json] [--width 1920] [--height 1080] [--scale 1] [--bridge-port <port>]\nalt render <path> [--api-key <token>] [--api-url <url>] [--entry scene.html] [--duration <time>] [--fps 60] [--width <px>] [--height <px>] [--quality standard] [--codec h264] [--format mp4] [--scene <name>] [--callback-url <https>] [--wait] [--out <file.mp4|directory>] [--poll-interval <ms>] [--timeout <time>] [--json]\nalt render status <renderId> [--api-key <token>] [--api-url <url>] [--out <file.mp4|directory>] [--json]\nalt render download <renderId> --out <file.mp4|directory> [--api-key <token>] [--api-url <url>] [--json]\n```\n\n## Init\n\nCreate a new Altavinci project and install the skill for agents:\n\n```sh\nalt init hello-scene\n```\n\nThis writes:\n\n- `hello-scene/scene.html`\n- `hello-scene/.agents/skills/altavinci/**`\n\n## Compile\n\nCompile an HTML scene and print diagnostics.\n\n```sh\nalt compile apps/playground/scenes/html/01-basic.html\nalt compile apps/playground/scenes/html/01-basic.html --json\n```\n\nThe command reads the scene directory, compiles with rich text run support, and exits `0` only when there are no error diagnostics.\n\n## Frame\n\nRender one exact scene-time frame to PNG.\n\n```sh\nalt frame apps/playground/scenes/html/01-basic.html \\\n  --at 250ms \\\n  --out /tmp/frame.png \\\n  --width 1920 \\\n  --height 1080 \\\n  --scale 1 \\\n  --json\n```\n\nTime values support `7240ms`, `7.24s`, or bare millisecond numbers such as `7240`.\n\n## Frames\n\nRender multiple exact scene-time frames over one bridge connection.\n\n```sh\nalt frames apps/playground/scenes/html/01-basic.html \\\n  --at 0ms,250ms,1s \\\n  --out-dir /tmp/frames \\\n  --width 1920 \\\n  --height 1080 \\\n  --scale 1 \\\n  --json\n```\n\nOutput filenames are deterministic:\n\n```text\nframe-000-0ms.png\nframe-001-250ms.png\nframe-002-1000ms.png\n```\n\n## Render\n\nZip a scene folder and render it through the Altavinci Render API.\n\n```sh\nalt render ./my-scene \\\n  --wait \\\n  --out /tmp/scene.mp4 \\\n  --api-key \"$ALTAVINCI_API_KEY\"\n```\n\nAuth comes from `--api-key <token>` or `ALTAVINCI_API_KEY` in the environment or `.env`. Override the API with `--api-url <url>` or `ALTAVINCI_API_URL`; the default is `https://altavinci-api.nouro-flow.workers.dev`.\n\n`<path>` can be a scene directory or an HTML file. Directories use `scene.html` unless `--entry <file.html>` is passed. The CLI compiles the entry first, derives duration, fps, width, and height from the scene when possible, then uploads a multipart ZIP with renderer options.\n\nRenderer flags: `--duration <time>`, `--fps <int>`, `--width <int>`, `--height <int>`, `--quality draft|standard|high`, `--codec h264`, `--format mp4`, `--scene <name>`, and `--callback-url <https>`. Explicit flags override values derived from the scene.\n\n`--wait` polls until completion and prints render stats. `--out <file.mp4|directory>` implies `--wait`, downloads the MP4, and creates parent directories. When `--out` points at an existing directory or ends with a slash, the CLI writes `<directory>/<renderId>.mp4`. Use `--poll-interval <ms>`, `--timeout <time>`, and `--json` for automation.\n\nAlready have a render id? Use `alt render status <renderId>` to fetch the current state and formatted metrics. Add `--out <file.mp4|directory>` to download a completed render while showing status. `alt render download <renderId> --out <file.mp4|directory>` is the download-only spelling and fails if the render is not completed yet.\n\nZIP packaging includes binary assets such as fonts and static raster images. It excludes `.agents`, `.git`, `.turbo`, `dist`, `node_modules`, `.env*`, `.DS_Store`, and video/GIF preview files because the worker rejects those media inputs.\n\n## Render bridge\n\n`frame` and `frames` compile the scene first, then send render requests over a local WebSocket bridge to a running Studio or Playground tab. The browser tab renders the compiled runtime AST and returns PNG bytes to the CLI.\n\nDefault bridge URL:\n\n```text\nws://127.0.0.1:53847\n```\n\nIf the default port is busy, pass `--bridge-port <port>` and open the Studio or Playground URL printed by the command. The protocol is Node-compatible and uses `node:http` plus `ws`, so the published CLI runs under Node through `npx @altavinci/cli`.\n","readmeFilename":"README.md"}