{"slug": "show-hn-a-personal-creative-room-where-an-idea-turns-into-a-short-film", "title": "Show HN: A personal creative room where an idea turns into a short film", "summary": "A full-stack engineer released Kiteva, a source-available desktop application for macOS that turns a written idea into a short motion-graphics film by orchestrating Anthropic's Claude Opus 5.5 or OpenAI's GPT-6.1 Sol, under a non-commercial license based on MIT that adds a no-commercial-use condition and is not OSI-approved. Kiteva reads user references into a structured brief, has the main model propose a dozen or more directions drawn from summaries of 136 Motion Graphics, scores them with Typesafe's JEV evaluator, renders silent 3-second previews, then produces a full film at 1080p or 1440p, 30 or 60 fps, up to 5 minutes, with optional lyrics and local Kokoro or Pocket TTS narration. Every render is probed with ffprobe and fully decoded, with layout and contrast checks via the HyperFrames renderer or frame-consistency checks via the Multiplane trial, and the author's demo film was a 28-second run.", "body_md": "**A personal creative room where an idea turns into a short motion-graphics film.**\n\n  Runs on your Mac with [Claude Opus 5.5](https://platform.claude.com/docs/en/about-claude/models/overview) or [GPT-6.1 Sol](https://developers.openai.com/api/docs/models/gpt-6.1-sol).\n\n**English** · [简体中文](https://github.com/delexw/kiteva/blob/main/README.zh-CN.md)\n\n<sub>This film was made in Kiteva, from one real run: 28 seconds with local Kokoro narration and a music bed the film agent wrote in code. Above is a silent 14-second loop from the middle; click it for the full MP4 with sound. [How it was made](https://github.com/delexw/kiteva/blob/main/docs/intro-video.md).</sub>\n\nImportant\n\n**Non-commercial license.** Kiteva's source is shared under the [Kiteva Non-Commercial License](https://github.com/delexw/kiteva/blob/main/LICENSE).\nIt's based on MIT but adds a no-commercial-use condition, so it's source-available and **not** an\nOSI-approved open source license. Third-party parts keep their own licenses. See [License](#license).\n\nI'm not a professional designer. I'm a full-stack engineer working on content and creative tools,\nand along the way I picked up a few creative ideas. Then I noticed [Opus 5.5](https://platform.claude.com/docs/en/about-claude/models/overview) has a real feel for this\nkind of work. There's an internal hackathon coming up at my company, and I just find these motion\neffects fun, so I started collecting motion pieces that had that certain something, along with notes\non what technology could make each one. The pile got big. So I built an agent to put that collection\nand Opus 5.5 to work, to see how far it could go. The results surprised me, so I'm sharing the agent's\nsource here, under non-commercial terms.\n\nI collected a lot. Some of it is dazzling, and some of it is probably wrong. I kept it all anyway 😄\n\nOpus 5.5 is my favourite for the creative part. The [Codex](https://developers.openai.com/codex) provider with [GPT-6.1 Sol](https://developers.openai.com/api/docs/models/gpt-6.1-sol) is wired up too,\nand I'm trying it out for fun. You choose the provider per project.\n\n**Idea → brief → Motion Graphic combinations → previews → full film → review and delivery**\n\n<sub>The room right after the intro film finished. The Assistant starts a new idea; each project lives in its own widget.</sub>\n\n- **A desktop-style room.** Everything happens in windows on a personal desktop: an assistant that\nwalks you through the idea, documents, images, websites, music and lyrics, and settings, plus a material\nshelf and one widget per project. Nothing calls a model until you press**Create** .\n- **A brief from your references.** A small model reads your files and, if you add websites, opens\nthem in a fresh headless[Chromium](https://www.chromium.org) browser to take screenshots. It writes a structured brief and then checks it.\n- **Motion Graphic combinations.** The main model reads summaries of all 136 Motion Graphics and\nproposes a dozen or more directions. Each pairs one primary Motion Graphic with supporting ones. A\nseparate evaluator,[Typesafe](https://docs.typesafe.ai) 's[JEV](https://docs.typesafe.ai/models) , scores them and keeps the number of directions you asked for (1–5).\n- **Silent 3-second previews** of the same story beat, one per direction, so you can compare.\n- **The full film** continues the preview session you picked, at 1080p or 1440p, 30 or 60 fps, up to\n5 minutes, with optional on-screen lyrics and local narration ([Kokoro](https://huggingface.co/hexgrad/Kokoro-82M) or[Pocket TTS](https://pypi.org/project/pocket-tts/) ).\n- **Review and delivery.** Every render is probed with`ffprobe` and fully decoded. With[HyperFrames](https://github.com/heygen-com/hyperframes) , the default renderer, layout and contrast checks run\ntoo, and findings are repaired in focused rounds. The[Multiplane](https://github.com/LBEILC/Multiplane) trial\nskips those two checks and verifies frame consistency instead. A small model then reviews the result. You get\nan MP4, a poster, a project ZIP, a playback copy and a Storyboard.\n\n| <sub>Explore all 136 Motion Graphics. Each card plays a reviewed 3-second demo.</sub> | <sub>The two directions Kiteva previewed for the film above. I picked Paper Room.</sub> | \n\n<sub>The intro film's own Storyboard, caught during scene 2 of 9.</sub>\n\nEvery preview and film saves a `STORYBOARD.json` with timed scenes, beats, captions and audio notes\nthat match the actual composition. The Storyboard page plays it back as a little behind-the-scenes\nrehearsal. A stick-figure director and crew (stagehand, lighting, lettering, sound, camera) walk to their\nmarks when a beat calls for their job, and you can play, replay or scrub through the film's timeline.\n\nTo be honest about what it is: the crew is a playful reading of the recorded cues, not real production\nstaff and not a live render monitor. Live progress is in each project's activity lines in the room.\nAnd it has nothing to do with the UI-component tool called [Storybook](https://storybook.js.org).\n\n| Motion Graphics | **136** (`assets/catalog/video-style-catalog.json` ) | \n| Motions | **46** (`assets/catalog/motion-pattern-catalog.json` ) | \n| Technology pool entries | **92** recommendations across visual construction, motion, rendering and supporting tools | \n| Bundled authoring skill | **1** ([Anatomy](https://github.com/wheresryan22/anatomy) ) | \n| Renderers | [HyperFrames](https://github.com/heygen-com/hyperframes) (default),[Multiplane](https://github.com/LBEILC/Multiplane) (trial),[Remotion](https://www.remotion.dev) (fallback only) | \n\nCombinations are where it gets interesting. A direction can mix one primary Motion Graphic with supporting ones (1–3 in total for films under 30 seconds, up to 6 for films over three minutes), and the model picks motions and technologies to suit. That gives far more starting points than any single style. It doesn't promise that every combination works. Some won't, which is why there are previews, an evaluator and repairs.\n\n| Job | Claude projects | Codex projects | \n|---|---|---|\n| Brief, reference checks, Motion Graphic summaries, lyrics, result review, simple repairs | [Claude Haiku 5.5](https://platform.claude.com/docs/en/about-claude/models/overview) | [GPT-6 Luna](https://developers.openai.com/api/docs/models/gpt-6-luna) | \n| Combination proposals, previews, the full film, pacing/style repairs | **[Claude Opus 5.5](https://platform.claude.com/docs/en/about-claude/models/overview)** | [GPT-6.1 Sol](https://developers.openai.com/api/docs/models/gpt-6.1-sol) | \n| Scoring and choosing directions | [JEV](https://docs.typesafe.ai/models) via[Typesafe](https://docs.typesafe.ai) | [JEV](https://docs.typesafe.ai/models) | \n| Recording every call, token count and cost estimate | Governance report | Governance report | \n\nMore detail, including the workflow diagrams, is in [docs/architecture.md](https://github.com/delexw/kiteva/blob/main/docs/architecture.md).\n\nYou need macOS, [Node.js](https://nodejs.org) 24+, [Chrome](https://www.google.com/chrome/) or\n[Chromium](https://www.chromium.org), and [FFmpeg](https://ffmpeg.org) with `ffprobe`. Then two kinds of access:\n\n- **A model provider, by API key or by an existing signed-in subscription.** For Claude, set`ANTHROPIC_API_KEY` or`CLAUDE_CODE_OAUTH_TOKEN` , or just be signed in to[Claude Code](https://code.claude.com/docs/en/overview) on this Mac. For Codex, set`CODEX_API_KEY` or`OPENAI_API_KEY` , or be signed in to the[Codex CLI](https://developers.openai.com/codex) (`~/.codex/auth.json` ).\nSubscriptions work, but I haven't tested how subscription usage or remaining percentage is reported.\n- **[JEV](https://docs.typesafe.ai/models), configured separately.** Put`TYPESAFE_API_KEY` in`.env.local` .\nIt's needed whenever Kiteva generates directions. Picking Motion Graphics yourself skips it.\n\n```\ngit clone https://github.com/delexw/kiteva.git\ncd kiteva\nnpm ci\ncp .env.example .env.local      # add TYPESAFE_API_KEY (provider keys are optional if you're signed in)\nnpm run build\nnpm start                       # open http://127.0.0.1:4317\n```\n\nOptional: `npm run speech:setup` ([Kokoro](https://github.com/thewh1teagle/kokoro-onnx)) or `npm run speech:setup:pocket`\n([Pocket TTS](https://pypi.org/project/pocket-tts/)) for local narration. They need [Python](https://www.python.org) 3.10–3.13. For UI development, keep the backend running and use `npx vite` ([Vite](https://vite.dev), `http://127.0.0.1:4319`).\n\nThe catalogs, reviewed artwork and 136 preview clips ship with the repo, so browsing costs nothing. Your projects, uploads, room layout, databases and credentials stay in Git-ignored folders on your machine.\n\n| Part | What it is | Status | \n|---|---|---|\n| [Anatomy](https://github.com/wheresryan22/anatomy) | Isometric technical-illustration skill and drawing kit (3D mode is beta) | **The one bundled skill.** 141 files pinned to`e9488296` , SHA-256 checked, MIT, unchanged | \n| [HyperFrames](https://github.com/heygen-com/hyperframes) 0.8.144 | HTML video composition and export | npm dependency, pinned, default renderer | \n| [Multiplane](https://github.com/LBEILC/Multiplane) 0.3.10 | `render(t)` shot renderer with motion blur | npm dependency, pinned, trial setting | \n| [Remotion](https://www.remotion.dev) 4.x | React video renderer | npm dependency, fallback only (has its own license terms) | \n| `reference_browser` /`capture_video` | Headless website inspection, screenshots and walkthrough recording via [Puppeteer](https://pptr.dev) | Built into Kiteva, for both providers | \n| [Kokoro](https://github.com/thewh1teagle/kokoro-onnx) ,[Pocket TTS](https://pypi.org/project/pocket-tts/) | Local narration | Python set up by `npm run speech:setup*` . Weights downloaded to Git-ignored`models/` | \n| [Claude Agent SDK](https://github.com/anthropics/claude-agent-sdk-typescript) ,[Codex SDK](https://github.com/openai/codex/tree/main/sdk/typescript) ,[`@typesafe-ai/sdk`](https://docs.typesafe.ai/sdk/javascript) | Model providers and JEV | npm dependencies | \n| [Caveman](https://github.com/JuliusBrussee/caveman) | Local token-compression proxy for SDK calls | npm dependency, on by default | \n| [GSAP](https://gsap.com) ,[Three.js](https://threejs.org) ,[PixiJS](https://pixijs.com) ,[Paper.js](http://paperjs.org) ,[Rough.js](https://roughjs.com) ,[Motion](https://motion.dev) ,[chroma.js](https://gka.github.io/chroma.js/) ,[Pica](https://github.com/nodeca/pica) | Drawing and motion libraries offered to generated films | npm dependencies | \n| [React](https://react.dev) ,[Ant Design](https://ant.design) +[Ant Design X](https://x.ant.design) ,[Radix](https://radix-ui.com) ,[Tailwind CSS](https://tailwindcss.com) ,[Vite](https://vite.dev) ,[Fastify](https://fastify.dev) ,[Zod](https://zod.dev) | App UI, server and shared contracts | npm dependencies | \n| [FFmpeg](https://ffmpeg.org) ,[Chrome](https://www.google.com/chrome/) /[Chromium](https://www.chromium.org) ,[Python](https://www.python.org) ,[Blender](https://www.blender.org) (optional) | External tools | Not bundled. You install them | \n\nBeing in the 92-entry technology pool doesn't mean a library is installed. Twelve pool entries are\nrecommendations only, and generation can't install packages or use the network. The full list with a\nstatus for every entry, plus all 75 direct npm dependencies, is in [docs/technology-pool.md](https://github.com/delexw/kiteva/blob/main/docs/technology-pool.md).\n\nFrom Kiteva's own governance report (snapshot 2026-10-17, app pricing date 2026-10-13), my three\nearlier development projects (all Claude, 90–120 s films, five preview directions each) came to\n**$16.46, $18.73 and $37.42** in SDK-estimated, API-equivalent model usage. More than 90 % of input\ntokens were cache reads. Nearly all of the cost is Opus writing previews and the film. Haiku's\npreparation and review work cost cents, and JEV ranking under a cent. The expensive one regenerated\nits directions and needed nine repair calls.\n\nThat's three projects, not a benchmark or a per-minute price. Local compute (render time, electricity)\nisn't priced, and there's no GPT-6.1 Sol example yet. These are token counts priced at API rates. If\nyou're signed in with a subscription instead of an API key, they are **not** your bill and not a meter of\nyour plan's allowance. I haven't tested subscription usage or remaining-percentage reporting. Method and caveats:\n[docs/costs.md](https://github.com/delexw/kiteva/blob/main/docs/costs.md).\n\n- macOS only for now (the render sandbox uses `sandbox-exec` ). Single user, local only.\n- [Multiplane](https://github.com/LBEILC/Multiplane) is a trial: one sound file, no video clips inside scenes, and no automatic layout or contrast checks (frame consistency is still verified).\n- [Remotion](https://www.remotion.dev) is a fallback, not a setting, and its renders skip the HyperFrames layout/contrast checks too.\n- No generated singing, image generation or stock footage. Visuals are drawn in code, or come from your uploads and website captures.\n- The catalog is my personal collection. Some descriptions or technology suggestions may be off. Issues are welcome.\n- Generation takes a while, often many minutes per preview, and uses real API credit or subscription usage.\n\n- [Architecture](https://github.com/delexw/kiteva/blob/main/docs/architecture.md) : components, workflow, renderers, capture, skills, storage (Mermaid diagrams)\n- [Technology inventory](https://github.com/delexw/kiteva/blob/main/docs/technology-pool.md) : all 92 pool entries, the bundled skill, renderers, TTS and every dependency\n- [Costs](https://github.com/delexw/kiteva/blob/main/docs/costs.md) : how the governance numbers are computed\n- [Intro film provenance](https://github.com/delexw/kiteva/blob/main/docs/intro-video.md) : how the film above was made in Kiteva\n- [README references](https://github.com/delexw/kiteva/blob/main/docs/readme-references.md) : open projects whose READMEs I learned from\n- [Application guide](https://github.com/delexw/kiteva/blob/main/docs/application-guide.md) ·[Speech setup](https://github.com/delexw/kiteva/blob/main/docs/speech.md) ·[Multiplane trial](https://github.com/delexw/kiteva/blob/main/docs/multiplane-trial.md)\n\nBug reports, catalog corrections and focused PRs are welcome. See [CONTRIBUTING.md](https://github.com/delexw/kiteva/blob/main/CONTRIBUTING.md)\nfor setup, the checks to run (`npm run lint`, `npm test`, `npm run build`), the creative quality bar\n(seekable compositions, real rendered frames) and third-party rules.\n\nKiteva's own code, catalogs and docs are © 2026 Yang Liu ([@delexw](https://github.com/delexw)),\nlicensed under the [Kiteva Non-Commercial License](https://github.com/delexw/kiteva/blob/main/LICENSE). In short: you may use, copy, modify and\nshare it for non-commercial purposes, such as personal projects, learning, research and evaluation,\nwith the notice kept. Internal, non-production evaluation inside an organisation, like trying it at an\ninternal hackathon, counts as non-commercial. Selling it, offering it as a paid service, using it for paid\nclient work, or putting what you make with it into commercial production needs separate permission. Ask in an issue. This summary isn't legal advice, and the\nLICENSE text is what applies.\n\nBundled and dependent software keeps its own license: [Anatomy](https://github.com/wheresryan22/anatomy) (MIT), [HyperFrames](https://github.com/heygen-com/hyperframes) and [Multiplane](https://github.com/LBEILC/Multiplane)\n(Apache-2.0), [Remotion](https://www.remotion.dev/license) (Remotion License), [GSAP](https://gsap.com/standard-license)\n(GSAP Standard License) and the rest as listed in [docs/technology-pool.md](https://github.com/delexw/kiteva/blob/main/docs/technology-pool.md).\nModel providers, speech models and other services have their own terms.", "url": "https://wpnews.pro/news/show-hn-a-personal-creative-room-where-an-idea-turns-into-a-short-film", "canonical_source": "https://github.com/delexw/kiteva", "published_at": "2026-10-17 11:13:01+00:00", "updated_at": "2026-10-17 11:32:47.399326+00:00", "lang": "en", "topics": ["ai-agents", "generative-ai", "ai-tools", "ai-products", "large-language-models"], "entities": ["Kiteva", "Claude Opus 5.5", "Anthropic", "GPT-6.1 Sol", "OpenAI", "Kokoro", "HyperFrames", "Typesafe"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-a-personal-creative-room-where-an-idea-turns-into-a-short-film", "markdown": "https://wpnews.pro/news/show-hn-a-personal-creative-room-where-an-idea-turns-into-a-short-film.md", "text": "https://wpnews.pro/news/show-hn-a-personal-creative-room-where-an-idea-turns-into-a-short-film.txt", "jsonld": "https://wpnews.pro/news/show-hn-a-personal-creative-room-where-an-idea-turns-into-a-short-film.jsonld"}}