# Video > Make videos from templates or scene by scene, preview them live and render an MP4 in your browser. Your own AI can draft them through Geenius OS; you press render. Video is in early access. Documentation pages are available as Markdown by adding .md to their address. ## Docs - [Getting started](https://video.geenius-os.tech/docs/getting-started.md): Your first video in Video: pick a template, fill the form, watch the preview, check the quality warnings and render an MP4 in your browser. - [Templates and starters](https://video.geenius-os.tech/docs/templates.md): The six fixed templates, the scene template, five starters, design-round films and your own versioned templates, and how the form and the valid sample work. - [Scenes and layers](https://video.geenius-os.tech/docs/scenes-and-layers.md): How a scene video is built: scenes, transitions, backgrounds, layers, keyframes and captions, with units, limits and the verbs for editing one scene at a time. - [Components and the UI kit](https://video.geenius-os.tech/docs/components.md): The component library of parameterised scenes and the UI kit of animatable app screens: what they are, how params work and how they stay editable. - [Long videos and chapters](https://video.geenius-os.tech/docs/long-videos.md): How to build a video of five minutes or more in Video: start from an outline, edit scene by scene, mark chapters, export chapter lines and split into videos you can render. - [Themes, brands and sizes](https://video.geenius-os.tech/docs/themes-and-brands.md): The 17 design-round themes, the three brands, light and dark modes and four sizes: what a theme sets, how to apply one and what always wins. - [Sound](https://video.geenius-os.tech/docs/sound.md): Add music, effects and voice to a scene video: tracks on the timeline in seconds, fades, loops, ducking, credits, limits, and how the preview and the render mix them. - [Rendering](https://video.geenius-os.tech/docs/rendering.md): How Video renders an MP4 in your browser with WebCodecs: sizes, formats, the four-minute single pass, chapters and splitting, browsers, and what an AI can and cannot do. - [Collections, snippets and imports](https://video.geenius-os.tech/docs/collections-and-snippets.md): Organise videos in collections, batch duplicate, re-theme and re-size them, reuse scenes as snippets and import finished MP4s as reference films. - [Geenius OS Media library](https://video.geenius-os.tech/docs/media-library.md): How Video uses the Geenius OS Media library: pictures in as copies, renders and posters out as items, the scopes involved and the hand-off from Media. - [Use Video with your AI](https://video.geenius-os.tech/docs/use-with-your-ai.md): Connect Claude, ChatGPT or Grok to Video through Geenius OS: it drafts videos from templates or scene by scene, checks them, and a person renders. - [video](https://video.geenius-os.tech/docs/reference/video.md): Reference for the video tool of Video: videos and scenes, with every action and what it does. - [template](https://video.geenius-os.tech/docs/reference/template.md): Reference for the template tool of Video: templates, with every action and what it does. - [collection](https://video.geenius-os.tech/docs/reference/collection.md): Reference for the collection tool of Video: collections, with every action and what it does. - [asset](https://video.geenius-os.tech/docs/reference/asset.md): Reference for the asset tool of Video: pictures, with every action and what it does. - [snippet](https://video.geenius-os.tech/docs/reference/snippet.md): Reference for the snippet tool of Video: snippets, with every action and what it does. - [Plans and limits](https://video.geenius-os.tech/docs/plans-and-limits.md): What Pro, Premium and Max count in Video, how Geenius OS plans include them, and what happens when you reach a limit. - [Troubleshooting](https://video.geenius-os.tech/docs/troubleshooting.md): Fixes for common Video problems: a render that will not start, a silent preview, a refused edit, a skipped batch, an AI that cannot see Video, and long-video limits. - [Glossary](https://video.geenius-os.tech/docs/glossary.md): The words used by Video in plain language: spec, template, starter, scene, layer, keyframe, component, theme, collection, snippet, chapter, render and more. ## Blog - [Your next video is a document, not a project file](https://video.geenius-os.tech/blog/videos-are-documents/): Why templated video beats the timeline for release notes, loops and shorts, and what changes when a video is a typed spec you can diff, fill and re-theme. - [Make a release-notes video from a changelog in a minute](https://video.geenius-os.tech/blog/release-notes-video-from-a-changelog/): A practical routine: keep a release-notes template, let your AI fill it from the changelog, check the quality warnings and render the MP4 in your browser. - [One spec, four sizes: stop rebuilding videos for every channel](https://video.geenius-os.tech/blog/one-spec-four-sizes/): How Video draws the same video at 1080p, 720p, square and vertical from one spec, and how to resize a whole collection in a batch. - [A theme is a brand in one line: re-skin a whole collection](https://video.geenius-os.tech/blog/a-theme-is-a-brand-in-one-line/): How themes and brands work in Video, what a theme sets, what always wins over it, and how to re-theme a collection when a client changes their mind. - [Let your AI fill the form, and keep the render button](https://video.geenius-os.tech/blog/let-your-ai-fill-the-form/): How to work with Claude, ChatGPT or Grok on videos in Video: read the schema, draft, edit scene by scene, lint, and hand over a link for a person to render. - [Sound in short videos: music, effects and voice without a mixing desk](https://video.geenius-os.tech/blog/sound-in-short-videos/): A short guide to adding music, a few effects and a voice track to a scene video: timing, fades, ducking and credits, and what to check in the preview. ## Pages - [Features](https://video.geenius-os.tech/features/): The Video features: templates, scenes, components, themes, sound, in-browser rendering, collections and library, and your AI over MCP. Honest about what is live. - [Templates](https://video.geenius-os.tech/features/templates/): Six typed templates, five starters built from components, design-round films and your own templates: each a schema, a form and a valid sample. - [Scenes](https://video.geenius-os.tech/features/scenes/): The scene template: scenes with layers, keyframes, transitions, backgrounds, captions and device frames, as a document a person, a form or an AI can edit one scene at a time. - [Components and the UI kit](https://video.geenius-os.tech/features/components/): A library of parameterised scenes and an animatable UI kit drawn from data: no screenshots, no code. Components stay editable layer by layer. - [Themes and brands](https://video.geenius-os.tech/features/themes/): 17 design-round themes, three brands and four sizes. Re-theme or re-size one video or a whole collection in a single call. - [Sound](https://video.geenius-os.tech/features/sound/): Scene videos can have up to 24 audio tracks: music, effects and voice, timed in seconds, with fades, loops and ducking, mixed into one AAC track when you render. - [Render](https://video.geenius-os.tech/features/render/): Rendering runs in your browser with WebCodecs: no upload, no queue, no render minutes. 1080p, 720p, square or vertical, up to four minutes in one pass. - [Library](https://video.geenius-os.tech/features/library/): Collections, snippets, imported reference films and the Geenius OS Media library: organise videos, reuse scenes and move pictures in and out. - [Connect your AI](https://video.geenius-os.tech/features/mcp/): Connect Claude, ChatGPT or Grok to Video through Geenius OS: it reads template schemas, drafts videos, edits scenes and checks quality. A person presses render. - [How it works](https://video.geenius-os.tech/how-it-works/): How Video works in four steps: pick a template, fill it (or let your AI), preview and check, render the MP4 in your browser. - [Use cases](https://video.geenius-os.tech/use-cases/): How developers, creators, agencies and product teams use Video for release notes, loops, client launches and shared looks. - [Video for developers](https://video.geenius-os.tech/use-cases/developers/): How developers use Video: release-notes videos from a changelog, filled by their own AI through Geenius OS and rendered in the browser in one press. - [Video for creators](https://video.geenius-os.tech/use-cases/creators/): How creators use Video for quotes, hero loops and vertical shorts, in four sizes from one spec, rendered in the browser. - [Video for agencies and freelancers](https://video.geenius-os.tech/use-cases/agencies/): How agencies and freelancers use Video: one collection per client, a theme and brand per collection, batch re-theme and resize, and templates of their own. - [Video for product teams](https://video.geenius-os.tech/use-cases/teams/): How product teams use Video: their own versioned templates, snippets of scenes, a shared theme and brand, and the Geenius OS Media library. - [Pricing](https://video.geenius-os.tech/pricing/): Video costs €9, €19 or €49 a month and is included in the matching Geenius OS plan. Every template and render is on every plan; plans count videos. No free plan. - [FAQ](https://video.geenius-os.tech/faq/): Answers about Video: what it is, templates and scenes, rendering in the browser, sound, your own AI, Geenius OS, pricing and early access. - [Changelog](https://video.geenius-os.tech/changelog/): The Video changelog: what shipped in early access, and when. This site and the product are tracked here. - [About](https://video.geenius-os.tech/about/): About Video and AVS Media: why a video should be a document, how the product relates to Geenius OS, and what we promise. - [Contact and feature requests](https://video.geenius-os.tech/contact/): Write to the Video team or request a feature. Feature requests help us decide what to build next. - [Request access](https://video.geenius-os.tech/request-access/): Video is invite-only in early access. Request access in the app, or join the waitlist here. - [Find your setup](https://video.geenius-os.tech/find-your-setup/): Answer a few questions and see which Video features to use first, which docs to read and which plan fits. Runs in your browser; nothing is sent. - [Search and ask](https://video.geenius-os.tech/search/): Search the Video docs, blog and FAQ, or ask a question and get an answer card with links. --- # Getting started > Your first video in Video: pick a template, fill the form, watch the preview, check the quality warnings and render an MP4 in your browser. Source: https://video.geenius-os.tech/docs/getting-started/ This walk-through takes about fifteen minutes. You will make a release-notes video and render it. ## Before you begin Video is invite-only in early access. You need an account, which you get by [requesting access](/request-access/) and signing in once your place is ready. If you use Geenius OS you can sign in with that account. Use a current Chrome, Edge or Safari: the render needs WebCodecs. ## 1. Pick a template Open the gallery and choose **New video**. Pick **Release notes**. The six fixed templates are hero loop, feature tour, release notes, blog-post clip, app-store teaser and quote. Starters (journey film, problem to calm, feature demo on phone, app teaser, vertical short) and the free-form **scene** template are in the same picker. ## 2. Fill the form The form is made from the template's own schema. Give the version and three changes. If a value is wrong, the field says what is wrong and what to write. Pick a size (1080p, 720p, square or vertical) and, if you like, a theme. ## 3. Watch the preview The preview plays as you type. It is the same drawing the render uses, so what you see is what you get. Click the page once to let the browser play sound if the video has any. ## 4. Read the quality warnings For scene videos the editor shows plain-words warnings above the form: too many words for the time, text outside the safe area, a scene with no motion, low contrast. They never block a save. ## 5. Render Press **Render**. The browser makes the MP4 (H.264) on your machine. When it is done, download it, or save it to the Geenius OS Media library if it is connected. > [!TIP] > Make the first video short, at 720p. A render takes the time it takes on your device, and a short one tells you quickly whether your browser can do it. ## What next - [Scenes and layers](/docs/scenes-and-layers/) for a video from scratch. - [Themes and brands](/docs/themes-and-brands/) for a consistent look. - [Collections and snippets](/docs/collections-and-snippets/) for organising and batches. --- # Templates and starters > The six fixed templates, the scene template, five starters, design-round films and your own versioned templates, and how the form and the valid sample work. Source: https://video.geenius-os.tech/docs/templates/ ## What a template is A template is a **typed spec**. It has a JSON schema, a valid sample and a natural length. The form in the editor is made from the schema, so the fields are always right, and what you fill in is checked before it reaches the screen. A mistake is named by field in plain words. ## The kinds | Kind | What it is | |---|---| | Fixed templates | Hero loop, feature tour, release notes, blog-post clip, app-store teaser, quote | | Scene template | A free-form video: scenes, layers, keyframes (see [Scenes and layers](/docs/scenes-and-layers/)) | | Starters | Five whole videos made from components: journey film, problem to calm, feature demo on phone (vertical by default), app teaser, vertical short | | Films and packs | Design-round phone-journey films, grouped in template packs that share an engine | | Your own | Recipes of component scenes with parameters, kept by your workspace | A starter expands to an ordinary scene video, so it stays editable scene by scene. ## Sizes 1080p (1920 by 1080), 720p (1280 by 720), square (1080 by 1080) and vertical (1080 by 1920). Change the size of a video, or of a whole collection, at any time. ## Your own templates A workspace template is a **recipe**: component scenes with parameters, optional conditions ("only when this parameter has a value") and repeats. You can add and remove parameters, edit scenes of the recipe and set sample values. Each time you save a version it is **immutable**, with a diff between two versions and a list of the videos that use each. A video made from an older version can be **upgraded**: you see the diff and whether the video was edited by hand. Share a template as private, with the workspace, or (admins) as featured. Export it as JSON for backup or to move it to another workspace; import reads it back as a draft. ## Preview without saving `template preview` builds a video from a template's parameters without saving it and returns the scenes, the length and the quality warnings. Your AI uses it to try things. --- # Scenes and layers > How a scene video is built: scenes, transitions, backgrounds, layers, keyframes and captions, with units, limits and the verbs for editing one scene at a time. Source: https://video.geenius-os.tech/docs/scenes-and-layers/ A **scene video** is a declarative timeline. The spec is data, never code. ## Units - Positions are **percent of the frame**. - Time is in **seconds**. - Text sizes are **type-scale tokens**, so they adapt to the frame. ## A scene Scenes run in order. Each has: - a **duration** (up to 60 seconds), - a **transition** to the next: fade, slide, push, zoom, wipe or match-cut, - a **background**: solid, gradient or grain, - **layers**, a title and, optionally, a chapter marker. ## Layers | Layer | What it does | |---|---| | Text | Type-scale tokens, safe areas, reveals by line, word or character | | Shape | Rectangles, lines, underlines and more | | Image | A picture or screenshot (`storage:`) | | Device frame | A phone, laptop or browser with a screen slideshow and camera moves | | Group and mask | Layers that move and clip together | Layers have **keyframes** with easings. A video can also have **captions**. ## Limits A spec is at most 900 KB of JSON, with up to 300 scenes, 40 layers per scene, 12 keyframes per layer and 1,000 captions. A video can be 30 minutes long. Pictures are references (`storage:`); a data URL counts against the 900 KB. ## Editing one scene at a time Every scene has a stable id (`sc-xxxxxx`). You add, update, remove, move and duplicate scenes, or copy scenes from another video. Each action is one atomic edit that validates the **whole** spec and, when something is wrong, names the scene and field: "Scene 4 (id sc-ab12, "Intro") - spec.scenes[3]…". The video goes back to draft with a new revision. ## The quality bar `lint` reads the video the way a viewer would. It warns about text-only scenes, too little shown (under 35 percent of the running time with a device, picture, cards or graphics), more than 32 words on a scene, too little time to read (3.5 words a second plus 0.7 s), text outside the safe area, scenes with no motion, contrast under WCAG (3:1 large, 4.5:1 other) and text under 15 px in a 720-high frame. A layer whose id starts with `deco` is decoration and counts for little. Warnings never block a save. --- # Components and the UI kit > The component library of parameterised scenes and the UI kit of animatable app screens: what they are, how params work and how they stay editable. Source: https://video.geenius-os.tech/docs/components/ ## Components A component is a named scene made from a few parameters: **params in, one ordinary scene out**. The library includes hook title, big number, quote card, phone, laptop and browser showcases, app-screen showcase, journey step, chaos to calm, checklist, caption style, lower third, logo outro and transition card. Components adapt to wide, square and tall frames and read brand tokens. Because the result is an ordinary scene, you can still edit any of its layers afterwards. Params are validated with plain-words errors, and `component_read` gives each param with its type, limits and default, and a sample that is valid as it is. ## Themed components From the design rounds: marker highlight (a yellow marker swipe), paper card, ink headline, journey cards, stamp badge, hand underline and mascot peek. Text layers can take a marker or scribble style behind or under chosen words. ## The UI kit Screens drawn from data by Video's own renderer, with no screenshots and no code: - about **105 line icons** on one grid, - light, dark and brand palettes and one text hierarchy, - an enter vocabulary (pop, rise, slide, fade, zoom, blur) with timing beats, - primitives (avatar, badge, chip, button with a press, input with type-in, toggle, progress, toast), - **28 pieces**: calendar month and week, invoice with a count-up and a PAID stamp, contact card, contact, inbox, file and notification lists, agent roster, activity feed, chat thread with typing dots, kanban with a moving card, sortable table, KPI tiles, chart card, approval card, document preview, matter page and pipeline. A screen is **chrome** (a header, a tab bar or a sidebar) plus **pieces** plus **steps** (click, scroll, highlight). It plays inside a device frame. ## Why it matters A product video made of screenshots goes stale at the next release. A screen drawn from data does not: change the data, render again. --- # Long videos and chapters > How to build a video of five minutes or more in Video: start from an outline, edit scene by scene, mark chapters, export chapter lines and split into videos you can render. Source: https://video.geenius-os.tech/docs/long-videos/ A long video is built in small, safe steps, not one big spec. ## Start from an outline Create a scene video with an **outline**: a title, chapters and, for each scene, its lines or a brief and a duration. You get a valid skeleton: a title card, a card per chapter, content scenes and an outro. ## Edit one scene at a time Add, update, remove, move and duplicate scenes, or copy scenes from another video. Each edit is atomic, validates the whole spec and names the scene when something is wrong. Every scene has a stable id, so edits do not drift when you move scenes. ## Chapters A scene with a chapter name starts a chapter that runs to the next one. In the editor you see the chapters, and the chapter list exports as YouTube chapter lines with their start times. ## Limits A scene video can have up to 300 scenes and 30 minutes. A single scene is at most 60 seconds. ## Rendering a long video One render pass covers up to **four minutes**. Use **split** to make one video per chapter (same look, titled " - 1." and so on), render each, and join them afterwards in the tool you like. ## A good routine 1. Outline with chapters of two to four minutes. 2. Write a chapter, check lint, preview. 3. Move on to the next chapter. 4. Split, render, join. --- # Themes, brands and sizes > The 17 design-round themes, the three brands, light and dark modes and four sizes: what a theme sets, how to apply one and what always wins. Source: https://video.geenius-os.tech/docs/themes-and-brands/ ## What a theme is A theme is a named token set from a design round: a palette (paper, ink, accent, a second accent, night, line), a type pair with self-hosted fonts, a shape (radius, density, shadow), how it moves (speed, easing), mascots, a caption look and the scene change it prefers. ## The 17 | Group | Themes | |---|---| | Round 5 | r5 (Butter), r5-apricot, r5-sage, r5-sky, r5-indigo | | Round 6 | r6-marker | | Round 7 | r7-signal, r7-petrol, r7-cobalt, r7-amber | | Round 8 | r8-depth | | Nabcloud | nabcloud-r1, nabcloud-r2, nabcloud-r3 | | Wundaly | wundaly-r1, wundaly-r2, wundaly-r3 | ## Applying one Set a theme on a video, on one scene (a scene may carry its own look), or on a whole collection. In a spec it is `look: "<id>"`. A theme names its own brand and mode; **an explicit brand or mode wins**, and a video with no theme draws as it always did. ## Brands and modes Three brands (Geenius, Nabcloud, Wundaly) in dark or light mode. Mascots are the brand's own marks. ## Sizes 1080p, 720p, square and vertical. Layouts adapt; text is sized by tokens. ## Quality Every theme, starter and size passes the quality bar, and every token pair reads (contrast is tested). --- # Sound > Add music, effects and voice to a scene video: tracks on the timeline in seconds, fades, loops, ducking, credits, limits, and how the preview and the render mix them. Source: https://video.geenius-os.tech/docs/sound/ A scene video can have sound. It lives in the spec as a list of **tracks** on the video's own timeline. ## A track | Field | Meaning | |---|---| | `kind` | music, sfx or voice | | `source` | A sound you uploaded (`storage:<id>`) or an https address | | `start`, `duration`, `offset` | Seconds on the timeline, and where in the file to start | | `volume` | From 0 to 1 | | `fadeIn`, `fadeOut` | Seconds | | `loop` | Repeat to fill the duration | | `duck` | The level music dips to under voice and effects | | `credit` | Who made it, shown for your own records | A video can have at most **24 tracks**. ## Preview and render The preview plays the **same mix** as the picture. Browsers keep a page silent until it has been touched, so click or tap first. The browser render mixes all tracks to **one stereo bus** and writes **one AAC track** into the MP4. A video with no tracks has no audio track. ## Where sound comes from - **Your own**: upload a file in the app, or use an https address. - **A licensed library**: Video can search a library of licensed music and effects when the deployment has one connected. On a deployment without one, the search says so and you use your own sound. > [!HONEST] > Video does not generate music or speech. --- # Rendering > How Video renders an MP4 in your browser with WebCodecs: sizes, formats, the four-minute single pass, chapters and splitting, browsers, and what an AI can and cannot do. Source: https://video.geenius-os.tech/docs/rendering/ ## In your browser Rendering runs on your machine. Video draws each frame, encodes them to **H.264** with **WebCodecs**, mixes any sound into one **AAC** track and gives you an **MP4**. Nothing is uploaded and there is no queue. The preview and the render are the same drawing. ## Sizes 1080p, 720p, square and vertical. ## One pass is up to four minutes A single render pass covers up to **240 seconds**. For a longer film, make it as **chapters** (a scene with a chapter marker starts a chapter), then **split**: one video per chapter, with the same look, titled "<title> - 1." and so on. Render each and join them afterwards. ## Browsers Use a current Chrome, Edge or Safari with WebCodecs. The render needs an H.264 encoder in the browser. ## After the render Download the file, or save it to the Geenius OS Media library together with its poster. If you edit the video after rendering, it is marked stale until you render again. ## Agents Your AI cannot render. It drafts the video and gives you a link; you open it, watch the preview and press **Render**. ## Time and size A render takes the time it takes on your device. A 204-second film took about 206 seconds on the machine we tried. Larger sizes and more layers take longer. --- # Collections, snippets and imports > Organise videos in collections, batch duplicate, re-theme and re-size them, reuse scenes as snippets and import finished MP4s as reference films. Source: https://video.geenius-os.tech/docs/collections-and-snippets/ ## Collections A collection is a named, ordered set of videos, with a description, tags, a brand and an aspect. A video can be in as many as you like. The gallery filters by collection, tag, state and maker, and shows posters (the stored poster once rendered, otherwise a live still). On a collection's page you reorder, add and remove videos and run batch actions. ## Batch actions | Action | What it does | |---|---| | Duplicate | The whole collection as a new "v2", optionally re-themed and re-sized | | Re-theme | Apply a theme to every video | | Resize | Make every video 720p, 1080p, square or vertical | At most **60 videos** per batch. A video that cannot take the change is listed in `skipped` with its reason, and the rest go through. Imported films are skipped by resize and re-theme. ## Snippets A snippet is a group of scenes you made from a video, kept for reuse: a logo outro, a legal card, an intro. Insert it into another video and it arrives with fresh scene ids. ## Imported films Import a finished MP4 from the gallery: pick the file, name it, say in plain words what it shows, and optionally add a source, tags and a collection. The browser reads its size, length and a poster frame. - MP4 only (H.264), up to **250 MB** per file; the poster up to 10 MB. - A description is required. - It counts as one video of your plan. - Only a person with write access can import (agents and read-only members cannot). - It is **never rendered, retimed, resized or re-themed**. Agents can list, read and review an imported film, tag and rename it and put it in collections. --- # Geenius OS Media library > How Video uses the Geenius OS Media library: pictures in as copies, renders and posters out as items, the scopes involved and the hand-off from Media. Source: https://video.geenius-os.tech/docs/media-library/ Video can work with the **Geenius OS Media library** through two scopes, never through a private import. ## Pictures in With the `media.read` scope, an image slot offers **From Geenius OS Media**. The picture comes in as a **copy**, and Media notes "used in Geenius Video". ## Renders out With the `media.write` scope, a rendered video offers **Save to Geenius OS Media**: the MP4 and its poster become a Media item. ## Hand-off In Media, **Use in…** lists every installed app that holds `media.read` and opens it with the picture. In Video that starts a new video from the picture: a blog-post cover, the first slide of a feature tour or the first screen of an app teaser. ## Good to know - You consent to the scopes when you sign in with Geenius OS. - Access is fenced to the one Geenius OS workspace Video belongs to. - Without Geenius OS you can still upload pictures directly. --- # Use Video with your AI > Connect Claude, ChatGPT or Grok to Video through Geenius OS: it drafts videos from templates or scene by scene, checks them, and a person renders. Source: https://video.geenius-os.tech/docs/use-with-your-ai/ Video has no built-in AI. Your own AI, Claude, ChatGPT or Grok, works with Video through Geenius OS: it reads a template's schema, drafts a video, edits scene by scene, checks the quality bar and lays sound on the timeline. **A person renders**, in a browser. > [!HONEST] > Agents cannot render. A video your AI makes waits as a draft until you open it in Video and press Render. That is deliberate: the MP4 is made on your machine. The door is available on every plan; during early access Video is invite-only and must be added to your Geenius OS workspace. ## Connect in three steps 1. In Geenius OS, an owner or admin adds Video to the workspace (Apps, Add to this workspace). Each workspace keeps its own apps. 2. In your AI, add the Geenius OS connector and sign in with your Geenius OS account. In Claude: Settings, Connectors, Add custom connector. In ChatGPT or Grok: add a remote MCP server. Geenius OS shows you the address. 3. Ask your AI to use Video. It now has a tool called `geenius_video`. ## How a call looks The tool takes a `tool` (the area), an `action` (the verb) and `args`. ```json title="List the templates" { "tool": "template", "action": "list", "args": {} } ``` Every call acts in the Video workspace of your Geenius OS workspace, after the plan check. ## Your first ask ```text title="A first ask" Use Geenius OS and my Video account. Make release notes for v2.4 from this changelog: <paste>. Use the release-notes template at 1080p, check it with lint, and give me the link so I can render it. ``` Your AI reads the template's schema and a valid sample, creates the draft, fixes what lint reports and gives you the link. You open it, watch the preview and press Render. ## The tools ::mcp-tools Ask for the actions of an area with `action: "help"`, and for one action's arguments with `action: "help"` and `of`. ## Habits that work - **Read the schema first.** `template read` gives a valid sample. Start from it and change values. - **Edit scene by scene.** `scene_add`, `scene_update` and the rest are one atomic edit each, and every write validates the whole spec and names the scene and field when something is wrong. - **Lint before you hand over.** `lint` lists the quality warnings in plain words. - **Think in chapters.** One render pass is up to 4 minutes. For a longer film, make chapters and `split` them. - **Pictures by reference.** Upload with `asset` and use `storage:<id>`; do not paste large data URLs into a spec. ## What your AI cannot do It cannot render, and it cannot change the file of an imported film. It cannot make footage: Video draws from data, it does not generate pictures or clips. --- # video > Reference for the video tool of Video: videos and scenes, with every action and what it does. Source: https://video.geenius-os.tech/docs/reference/video/ Template videos and scene videos built scene by scene, plus imported reference films. Agents can list, read, review, tag, rename, collect and duplicate imported films, never change their file. Call it as `geenius_video(tool: "video", action: "<action>", args: {...})` through Geenius OS. ## Actions | Action | What it does | |---|---| | `list` | Videos in the workspace, without their specs. Each row has creatorName, tags and posterUrl once rendered; IMPORTED videos (finished MP4s a person added, reference films to study) carry description and source. | | `read` | One video: title, template, spec, size, state, duration, revision, and fileUrl/posterUrl once rendered (stale:true when edited after the render), and appUrl. A long video's spec is big: use scene_list and scene_read instead. | | `review` | Study one video without rendering: its poster (posterUrl, the middle frame a person's render stored), fileUrl, state, and a plain-words description of what plays when (for a scene: every scene, transition and layer). Agents cannot render, so a draft has no poster: read its description. | | `create` | A new draft video from a template (an id from template list, not imported; or the key of one of YOUR OWN templates: params fill it, template_version pins an older version); omit spec to start from the template's sample. Returns its id and appUrl. | | `update` | Changes a video: title, size, tags, spec (the whole spec, validated against the template) or spec_patch (top-level fields merged onto the current spec; an array like scenes is REPLACED whole, so for scenes use the scene_* actions). Imported videos cannot change file, size or description. | | `delete` | Removes a video and its rendered file for good, NO undo (rename or leave it instead when unsure). Only its creator or a workspace owner/admin may, and only with confirm set to the video's exact title (or its id). | | `duplicate` | A copy of a video as a new draft. | | `scene_list` | A scene video's scenes: index (0-based), id, title, chapter, start (s), duration, transition, layer counts. Small: use it instead of read. | | `scene_read` | ONE scene in full. | | `scene_add` | Adds a scene: scene:{...fields} OR component:"<name>" + params:{...}; returns the new scene's id. A component makes a designed scene (device frames with moving screens, journey step, chaos-to-calm, big number, quote, captions, lower third, outro ...) for the video's brand and frame shape: THE WAY TO MAKE A SCENE LOOK GOOD instead of text slides. Saved scenes you reuse: the `snippet` tool. | | `scene_update` | Changes one scene: patch:{...scene fields} merged onto it (layers is replaced whole; null removes a field). The id never changes. For a scene made from a component send params:{...} (merged over its old ones) to re-make it, or component + params to make it from another. | | `scene_remove` | Removes one scene. | | `scene_move` | Moves one scene to a new 0-based index (to) or after another scene id. | | `scene_duplicate` | Copies one scene (default right after it). | | `scene_copy_from` | Copies scenes from another video of the workspace into this one (fresh ids; chapter markers come along). | | `chapters` | The chapters of a scene video (a scene with `chapter:"Name"` starts one, up to the next), their start times, and the list as YouTube chapter text ("0:00 Intro"; YouTube needs 0:00 first, 3+ chapters, 10 s+ each). | | `split` | Makes ONE VIDEO PER CHAPTER (separate drafts with the same look, titled "<title> - 1. <chapter>"; the original stays). Needs 2+ chapters. This is the path for anything longer than | | `component_list` | The component library: name, title, what it is for, its params and the required ones. Components are also previewed live in the app (Components page). | | `component_read` | One component: every param with type, limits and default, the scripted-screen kinds, the named transitions and a SAMPLE params object that is valid as it is. | | `ui_list` | The UI KIT: our own animatable app screens, drawn by our renderer from data (no screenshots, no code). 10 READY-MADE SCREENS (booking, invoice, client-app, matter, crm, chat, dashboard, approvals, kanban, inbox) that look like a real app, ~30 PIECES (calendar, invoice, contact-card, contact-list, inbox-list, chat-thread, kanban, table, kpi-tiles, chart-card, approval-card, doc-preview, matter, pipeline, file-list, notification-list, agent-roster, activity-feed, toast, button, input, toggle, progress, badge, avatar ...), ~100 line icons and the ENTER vocabulary (pop, rise, slide, fade, zoom, blur; inside a piece rows fill, numbers count up, checks draw, buttons are pressed, a cursor clicks, the content scrolls). | | `ui_read` | One UI-kit screen (its full recipe, valid as it is) or piece (every prop and a valid sample); with neither, the screen fields, steps and timings. | | `lint` | The MINIMUM QUALITY BAR of a scene video, checked in plain words: text-only scenes, too little shown (devices, screens, pictures), too many words, too short to read, text outside the safe margins, scenes with no motion, low contrast, tiny text. create, update and every scene action already return the first few as `lint`; this lists all. It never blocks: fix what it says before you hand the video to a person to render. | | `audio_library` | Search the SOUND LIBRARY of licensed music and sound effects (compact rows: id, title, kind, category, mood, tempo, seconds, license). Filter by kind (music\|sfx), category, mood, tempo (fast\|slow\|mid) and words in q; without filters you get the first rows plus the category and mood names to filter by. Put a chosen id into audio_track_add library_id. id reads one item in full (its url and attribution). If no library is connected to this deployment the answer says so (available:false) and you can still add a track from an https address. | | `audio_track_add` | Adds a SOUND to a scene video: a music, sfx or voice track on the video's timeline (seconds). Take a library sound with library_id (from audio_library: the kind, source, title and attribution come with it) or give kind + source (an https address of an audio file, or storage:<id> of a sound uploaded in the app). Defaults: start 0; duration = the sound once (or the rest of the video); music gets volume 0.5, a 0.5 s fade in, a 1.5 s fade out and loops when the video is longer than the sound. duck:0.3 makes music dip to 30% while a voice or sfx track plays. Returns the new track's id, all tracks and the sound in words. The MP4 gets ONE stereo AAC track mixed from them when a person renders in the browser; with no tracks the MP4 has no audio. Tell the person the sound is added; they hear it in the preview (after a click on the page). | | `audio_track_update` | Changes one audio track: send the fields to change (title, start, duration, offset, volume, fade_in, fade_out, loop, duck, kind) and, to remove a setting, name it in clear (e.g. clear:["duck","offset"]). The id and the sound never change (remove the track and add another to swap the sound). The whole spec is validated; errors name the track and the field. | | `audio_track_remove` | Removes one audio track (the uploaded sound file is released when no other track uses it). | > [!TIP] > Ask for the exact arguments of any action with `action: "help", of: "list"`. The server answers from its own definitions, so that answer is always current. > [!HONEST] > Agents cannot render: rendering runs in a browser. After you create or edit a video it waits as a draft until a person opens it in Video and presses Render. `read` returns the link (`appUrl`) and, once rendered, `fileUrl`. One render pass covers up to 240 seconds (4 minutes); make longer videos as chapters and `split` them. --- # template > Reference for the template tool of Video: templates, with every action and what it does. Source: https://video.geenius-os.tech/docs/reference/template/ The templates a video is made from: the six fixed templates, the scene template, starters, design-round films and packs, themes, and the workspace's own templates (recipes that are pure data). Call it as `geenius_video(tool: "template", action: "<action>", args: {...})` through Geenius OS. ## Actions | Action | What it does | |---|---| | `list` | Every template: id, name, description, default size, natural length in seconds, its JSON schema and a sample spec that is valid as-is; yours carry status, version, usage and an appUrl. | | `read` | One template (a built-in id or one of your keys) with the same fields as list; yours add the recipe, params in plain words, sample params and the version list. | | `sizes` | The sizes a video renders at (720p, 1080p, square, vertical) with pixel dimensions. | | `themes` | The DESIGN-ROUND THEMES (r5, r5-apricot, r5-sage, r5-sky, r5-indigo, r6-marker, r7-signal, r7-petrol, r7-cobalt, r7-amber, r8-depth, nabcloud-r1/r2/r3, wundaly-r1/r2/r3): without theme a list; with theme one in full. | | `features` | The scene template's feature specs, one tiny valid spec per feature (type scale, text reveals, shapes, device frames, camera moves, masks, backgrounds, keyframes, every transition, captions, brands). Without feature a list of {id, name, description}; with feature:<id>, that feature's spec to copy from. | | `films` | The 30 design-round phone-journey films (x1h, x1j1 ... x5j5) the `film` template starts from: without film a list of {id, look, theme, title, beats}; with film:<id> the whole journey to copy. | | `pack_list` | The TEMPLATE PACKS (bundles of film templates, components, fonts and themes that share an engine: Geenius R5 phone journeys, then Geenius R3, R4 ..., Nabcloud, Wundaly): id, name, brand, version, films, templates, themes, what is editable. | | `pack_read` | One pack's manifest with its templates, components, themes and film list; with film:<id> one film with its EDITABLE LINES (path, default text, max length). | | `create` | Saves a new template of yours as a DRAFT (version 1) from a recipe. The recipe is checked and its sample built through the components' own validators: errors name the scene, the path and what to write. Returns lint of the sample and what a share still needs. | | `from_video` | A template from a scene video. Its component scenes become recipe scenes; their text, lists, screens and pictures become PARAMETERS named after the field (headline, headline2, ...) with the video's own values as the sample, so a video made from the template with the sample params equals the original. Timing, choices and transitions stay fixed. Hand-drawn scenes are listed in skipped. Read the proposed params and rename/describe them with param_set. | | `update` | Changes your template's working copy: name, description, tags, or recipe (the whole working copy). For small edits use param_add, param_set, param_remove, scene_add, scene_update, scene_remove, scene_move and sample_set; each checks the whole recipe and returns a plain-words note. | | `param_add` | Adds a parameter to your template: def:{key,type,description,...} and sample; or scene + field to turn a field of a scene INTO a parameter (its value becomes the sample). | | `param_set` | Changes a parameter of your template: def holds the fields to change (null removes one); rename gives it a new key (every use follows); sample its new sample value. | | `param_remove` | Removes a parameter of your template; its sample value stays fixed in the scenes. | | `scene_add` | Adds a component scene to your template's recipe. | | `scene_update` | Changes one scene of your template's recipe: params are merged (null removes a key) or replaced (replace:true); when, each and component can change too. | | `scene_remove` | Removes one scene of your template's recipe. | | `scene_move` | Moves one scene of your template's recipe to a new index. | | `sample_set` | Changes sample values of your template's parameters. | | `duplicate` | A new draft template copied from a built-in starter or one of yours, to expand or change. | | `version` | Snapshots your template's working copy as the next IMMUTABLE version. Edits change only the working copy; videos are made from a published version (video create template:"<key>", params:{...}, template_version?) and pin it. | | `versions` | Your template's version history with how many videos use each. | | `diff` | What changed in your template between two versions. | | `upgrade` | Moves a video to a newer version of its template: shows the diff and whether the video was edited by hand; apply:true makes the video again from the new version. | | `share` | Shares your template: private, workspace or featured (admins only). The QUALITY BAR is enforced: the sample must pass video lint (0 warnings) and the template needs a poster (a person opens it once in Geenius Video, which captures it; a template made from a rendered video brings that poster). | | `archive` | No new videos from your template; existing ones keep working. | | `restore` | Undoes archive: new videos can be made from your template again. | | `delete` | Deletes your template. A template that videos use is NEVER deleted without a replacement that takes over their pin. | | `usage` | The videos made from your template and which version each is on. | | `preview` | Builds the video from a template's params WITHOUT saving: scenes, seconds, lint. | | `validate` | Every problem of a template or a recipe, the quality bar (the sample passes video lint) and whether a share would pass. | | `export` | Your template as a JSON envelope (for backup and for sharing across workspaces; template import reads it). | | `import` | A new draft template from an envelope template export returned; name/key rename it. | > [!TIP] > Ask for the exact arguments of any action with `action: "help", of: "list"`. The server answers from its own definitions, so that answer is always current. > [!NOTE] > The way to make a video that is not one of the six fixed templates is the `scene` template, a declarative timeline on Video's own renderer. Do not bring your own renderer, script or ffmpeg. --- # collection > Reference for the collection tool of Video: collections, with every action and what it does. Source: https://video.geenius-os.tech/docs/reference/collection/ Named, ordered sets of videos, with batch actions to duplicate, re-theme or re-size a whole collection. A video may be in several collections. Call it as `geenius_video(tool: "collection", action: "<action>", args: {...})` through Geenius OS. ## Actions | Action | What it does | |---|---| | `list` | Collections with their video count and up to four posters. | | `read` | One collection: its videos in show order, without their specs. | | `create` | A new collection, optionally with videos already in it. | | `update` | Changes a collection's name, description, tags, brand or aspect. | | `delete` | Removes the COLLECTION only (its videos stay); confirm must be its exact name or id. | | `add` | Adds videos to a collection. A video may be in several collections. | | `remove` | Takes videos out of the collection only (the videos stay). | | `reorder` | Puts a collection's videos in the order wanted (ids you leave out follow, in their old order). | | `duplicate` | Copies EVERY video into a new collection, optionally already re-themed (brand, mode, accent, theme) and/or re-sized (size). Copies are drafts; a person renders them. | | `retheme` | Changes brand, mode, accent and/or theme of every video IN PLACE (their renders become stale). | | `resize` | Changes every video's size IN PLACE (vertical, square, ...). | > [!TIP] > Ask for the exact arguments of any action with `action: "help", of: "list"`. The server answers from its own definitions, so that answer is always current. > [!NOTE] > Batch actions list a video that cannot take the change in `skipped` with its reason; the rest go through. At most 60 videos per batch. --- # asset > Reference for the asset tool of Video: pictures, with every action and what it does. Source: https://video.geenius-os.tech/docs/reference/asset/ The workspace's pictures as storage references, plus the Geenius OS Media library for people signed in with Geenius OS. Call it as `geenius_video(tool: "asset", action: "<action>", args: {...})` through Geenius OS. ## Actions | Action | What it does | |---|---| | `list` | This workspace's pictures: ref (storage:<id>, paste it into a spec's src), url, alt, title, size, usedByVideos. query searches alt text and titles. | | `upload` | Stores a picture from a small data:image/... URL and returns its ref. | | `import_url` | Fetches ONE picture from a public https address into the workspace and returns its ref (a spec itself never holds a web address). Read a Geenius OS Media item's url with geenius_os media read, then import it here. | | `update` | Describes a picture: alt text and title. | | `library` | The Geenius OS Media library's pictures — for a person who signed in to Video with Geenius OS (not agents). | | `import` | Brings one Geenius OS Media picture in, its title as alt text — for a person who signed in to Video with Geenius OS (not agents). | > [!TIP] > Ask for the exact arguments of any action with `action: "help", of: "list"`. The server answers from its own definitions, so that answer is always current. > [!NOTE] > Picture references look like `storage:<id>`. A data URL counts against the 900 KB limit of a video spec, so upload large pictures with `asset` instead. --- # snippet > Reference for the snippet tool of Video: snippets, with every action and what it does. Source: https://video.geenius-os.tech/docs/reference/snippet/ Reusable groups of scenes made from a video and inserted into another, with fresh scene ids. Call it as `geenius_video(tool: "snippet", action: "<action>", args: {...})` through Geenius OS. ## Actions | Action | What it does | |---|---| | `list` | Snippets: id, name, description, tags, sceneCount, seconds, the scene titles. | | `read` | One snippet with its scenes. | | `create` | Saves scenes of a video (in the order given) as a snippet. | | `update` | Changes a snippet's name, description or tags. | | `insert` | Puts a copy of the snippet's scenes into a video, with fresh scene ids. | | `delete` | Deletes a snippet. Videos that used it keep their copies. | > [!TIP] > Ask for the exact arguments of any action with `action: "help", of: "list"`. The server answers from its own definitions, so that answer is always current. --- # Plans and limits > What Pro, Premium and Max count in Video, how Geenius OS plans include them, and what happens when you reach a limit. Source: https://video.geenius-os.tech/docs/plans-and-limits/ Video has three plans and no free plan. Payments are in test mode during early access, so nothing is charged yet. | | Pro | Premium | Max | |---|---|---|---| | Price per month | €9 | €19 | €49 | | Videos (made or duplicated) | 50 | 100 | Unlimited | | Every template, scene, theme and render | Yes | Yes | Yes | | Your own AI through Geenius OS | Yes | Yes | Yes | | A built-in AI | None | None | None | Premium and Max differ from Pro only by the higher video limit. ## What is counted A video is counted when it is made or duplicated. Imported films count as one video each. ## When you reach a limit Making one more video than your plan allows is refused and the app shows a sheet with the plans. Nothing is deleted. ## Geenius OS A Geenius OS plan includes the matching Video plan: OS Pro includes Pro, OS Premium includes Premium and OS Max includes Max. You sign in with the same account. ## Trials There is no trial period. A promo key from us can grant a 7, 14 or 30 day trial. Enter it on the Plan page. --- # Troubleshooting > Fixes for common Video problems: a render that will not start, a silent preview, a refused edit, a skipped batch, an AI that cannot see Video, and long-video limits. Source: https://video.geenius-os.tech/docs/troubleshooting/ ## The render will not start Use a current Chrome, Edge or Safari. The render needs WebCodecs and an H.264 encoder in the browser. Try a short, 720p video first. Close heavy tabs for a long render. ## The preview is silent Browsers keep a page silent until you have touched it. Click or tap the page, then play. ## A refused edit names a scene and a field Every write validates the whole spec. The message names the scene (its id and title) and the field, and says what to write. Fix that value and save again. ## The quality warnings do not go away They never block a save, but each says what a viewer would trip over. Make the scene shorter, add motion or a picture, or move text inside the safe area. ## A batch skipped a video The `skipped` list gives the reason. Imported films are always skipped by resize and re-theme. Otherwise the video could not take the change, for example because it would break its own spec. ## A long video will not render in one go One pass covers up to four minutes. Make chapters and **split** into one video per chapter, then render each. ## My AI says NOT_IN_WORKSPACE Video is not added to your Geenius OS workspace. An owner or admin adds it on the Apps page. ## My AI cannot render By design. Rendering needs a browser and a person. Ask it for the link. ## The sound library is empty The deployment has no licensed sound library connected. Upload your own sound or use an https address. ## PLAN_REQUIRED or LIMIT_REACHED Your workspace has no Video plan, or you reached the video count of your plan. See [Plans and limits](/docs/plans-and-limits/). ## Still stuck? [Write to us](/contact/) with what you did and what you saw. --- # Glossary > The words used by Video in plain language: spec, template, starter, scene, layer, keyframe, component, theme, collection, snippet, chapter, render and more. Source: https://video.geenius-os.tech/docs/glossary/ **Brand.** One of three looks (Geenius, Nabcloud, Wundaly) a video can wear. **Chapter.** A scene with a chapter marker starts a chapter. Chapters export as YouTube chapter lines and can be split into separate videos. **Collection.** A named, ordered set of videos. **Component.** A named scene made from params: params in, one ordinary scene out. **Draft.** A video that has not been rendered since its last edit. **Imported film.** A finished MP4 kept as a reference. Never rendered or changed. **Keyframe.** A value at a time on a layer, with an easing. **Layer.** A piece of a scene: text, shape, picture, device frame, group or mask. **Lint.** The quality bar: plain-words warnings about a scene video. **Look.** The theme of a video or a scene. **Render.** Making the MP4 in your browser. **Scene.** A stretch of the video with a duration, a transition, a background and layers. **Snippet.** A group of scenes kept for reuse. **Spec.** The data that describes a video. A template's spec has a schema. **Starter.** A whole video made from components with a few params. **Template.** A typed spec with a schema, a form and a valid sample. **Theme.** A named token set from a design round. **Track.** A sound on the video's timeline. **UI kit.** Animatable app screens drawn from data. ---