Documentation

Install it once, then run the workflow

Everything below describes both kits — Film Kit and Reel Kit — and the commands that install and run them. Each kit has its own skill, trigger, project directory, and phase table; the license, the tools, the seats, and the render requirements are shared. The page is written to be read top to bottom once, and then used as a reference — the troubleshooting section is the part people come back to.

Overview

BountEx Motion installs a creative-direction and production workflow into the AI coding tool you already use. You describe the work once — a URL, a repository, a paragraph, an existing brief, or a track for a reel. It inspects what is really there, decides the story or the idea, writes it down, builds with HyperFrames, renders on your machine, and then hands the result to an independent critic that was not the one building it.

It is sold as a monthly license, and the license gates one thing: the playbook. The two kits read from separate playbooks, so no phase of one is ever served to the other.

Tier 1 · on your disk

Each kit is the shape of its workflow

install <kit> downloads one artifact for your tool and writes the runner skill, the command registration, and the harness scaffolding into the project. That is the order of the phases, the principles that never change, and the files the workflow keeps in video-project/ or motion-project/. It is deliberately not the method, and it is safe to read.

Tier 2 · served on demand

The phase content is licensed

Before the agent does the work of a phase, it fetches that phase from the license server. The CLI prints it to stdout, the agent reads it, and it is never written to disk — not to your repository, not to a commit, not to a document. Only an entitled, seat-bound device can fetch it, and it stops arriving when the subscription stops.

What that means in practice: your repository holds a skeleton you can read and your own project files, while the substance of the method arrives per session, in memory, and stays licensed. Your briefs, your renders, and your research are yours — nothing about them is uploaded.

Requirements

Installing either kit is light. Building and rendering is not: it happens on your machine, so your machine needs the tools.

RequirementWhyCheck it
Node.js 20 or newerRuns the CLI itself. npx bountex-motion activate, install, update, and doctor all work on Node 20.node --version
Node.js 22 or newerRequired by the HyperFrames toolchain that builds and renders the work. Node 20 can install a kit; it cannot render with one.node --version
FFmpeg on your PATHEncoding, muxing, audio mixing, and loudness measurement during the render.ffmpeg -version
Chrome or Chromium installedHyperFrames renders composition frames in a real headless browser, so a browser binary has to exist on the machine.google-chrome --version # or: chromium --version
One supported AI coding toolThe kit you install goes into the AI coding tool it finds in your project. See the harness table below.npx bountex-motion install film --dry-run
Your license keyFrom the receipt email sent after checkout. It looks like BM-XXXX-XXXX-XXXX-XXXX-XXXX and it is the only credential you hold.npx bountex-motion activate <license-key>

npx bountex-motion doctor checks every row above in one command and tells you what is missing.

Quickstart

Three steps, one of which you do in the terminal twice. Run them from the project you want the work to be about.

  1. 01Activate the license

    Sends the key once, registers this machine as a device, and writes the credential to your user config. If this machine already holds a seat, this is a reactivation and costs nothing.

    $npx bountex-motion activate <license-key>
    What you will see
    ✓ License key accepted
      plan      Founding — $7.49/month
      status    active
      seats     0 of 3 devices
      license   BM-7K2M…4RZ6
    
    ✓ Device registered
      id        7F3A9C2E1B4D5068
      name      MacBook-Pro (darwin arm64)
      token     ~/.config/bountex-motion/config.json (0600)
    
    Next: npx bountex-motion install film
  2. 02Install a kit

    Detects which AI coding tool this project uses, downloads that kit’s artifact for it, verifies every file against its SHA-256, and writes only the paths that tool reads. The kit argument is optional: install on its own installs film.

    $npx bountex-motion install film
    $npx bountex-motion install reel
    install film — what you will see
    ✓ Detected harness: OpenCode (.opencode)
    ✓ Downloaded film v1.1.0 for opencode
    ✓ Verified every file against its SHA-256 (digest 4a7c1e9b…)
      .opencode/skills/bountex-motion/SKILL.md
      .opencode/commands/bountex-motion.md
      .opencode/command/bountex-motion.md
      .opencode/plugins/bountex-motion.js
    ✓ Install receipt recorded for future updates
    
    Start a fresh session in OpenCode, then run /bountex-motion

    Installing the Reel Kit prints the same transcript with kit reel, skill bountex-motion-reel, and trigger /bountex-motion-reel.

  3. 03Run it inside your tool

    Start a fresh session so the tool picks up the new files, then use the trigger for the kit you installed. Anything after the trigger is project input — a URL, a path, or a sentence.

    $/bountex-motion https://yourproduct.com
    $/bountex-motion-reel https://yourproduct.com

    With no input, the default flow of that kit starts by inspecting whatever is in front of it and asking you only what it cannot work out. The first command it runs on its own is a playbook fetch, not a build.

Supported harnesses

Both kits, 7 file layouts. The installer detects the tool from marker directories in your project and installs into the first match; force one with --harness, write every layout with --all. Each kit registers its own skill and its own trigger, so both can be installed into the same tool.

ToolTriggerInstall root
Claude Code claude-code
  • Film Kit/bountex-motion
  • Reel Kit/bountex-motion-reel
.claude
Cursor cursor
  • Film Kit/bountex-motion
  • Reel Kit/bountex-motion-reel
.cursor
Codex CLI codex
  • Film Kitrun the `bountex-motion` skill by name
  • Reel Kitrun the `bountex-motion-reel` skill by name
.agents
OpenCode opencode
  • Film Kit/bountex-motion
  • Reel Kit/bountex-motion-reel
.opencode
GitHub Copilot copilot
  • Film Kit@bountex-motion
  • Reel Kit@bountex-motion-reel
.github
Antigravity CLI antigravity
  • Film Kit/bountex-motion
  • Reel Kit/bountex-motion-reel
.agentsFilm Kit: Run the plugin install step your CLI reports, then start /bountex-motion.Reel Kit: Run the plugin install step your CLI reports, then start /bountex-motion-reel.
Kimi Code kimi
  • Film Kit/bountex-motion:film
  • Reel Kit/bountex-motion:reel
.bountex-motionFilm Kit: Run `/plugins install .bountex-motion/film`, start a fresh session, then `/bountex-motion:film`.Reel Kit: Run `/plugins install .bountex-motion/reel`, start a fresh session, then `/bountex-motion:reel`.

Everything is written inside those roots, plus two exceptions worth knowing: Cursor also reads each kit’s skill from .claude/skills/, and Codex CLI also reads an agent card from .codex/agents/. The only other write is the managed block in your tool’s own instruction file, bounded by markers so the rest of that file survives an update byte for byte.

The workflow

Both kits share the same shape — inspect, decide, write it down, build, hand it to an independent critic — but they differ in what leads: a story, or a beat. Each kit has its own phase table and its own order. Your agent loads each phase from the server immediately before it does that phase’s work; it does not improvise one from memory and it does not reuse one from a previous session.

Film Kit /bountex-motion→ video-project/

Phase idWhat it is forLoaded by
interviewreferences/interview.mdAdaptive interview & context inspectionWhat to ask and what not to: inspect the site, the repository, existing briefs, and any references first, then ask only the questions whose answers change the film and cannot be inferred.briefpromptfulldefault
directionreferences/creative-director.mdCreative direction & story selectionChoosing one story, one message, three signature moments, and the visual metaphor — and writing those decisions down as decisions, where you can overrule them.brieffulldefault
promptreferences/production-prompt.mdUniversal production promptFilling the universal production prompt with the project’s facts without weakening its constraints, so the build cannot drift from the brief.promptfulldefault
critiquereferences/quality-bar.mdIndependent critic loop & quality barThe independent critic: what to measure, the issue format, the ledger, and the thresholds that decide when a film is finished rather than when the builder is tired.fullbuilddefault
buildreferences/hyperframes.mdDeterministic composition & render contractThe composition contract and the render path: project layout, determinism rules, the render CLI, and the render spike that has to pass before the full build starts.buildfulldefault
templatetemplates/creative-brief.mdCanonical creative brief templateThe canonical brief template, with facts, inferences, creative decisions, and unknowns kept in separate sections.brieffulldefault

Reel Kit /bountex-motion-reel→ motion-project/

Phase idWhat it is forLoaded by
conceptreferences/visual-language.mdConcept: one visual idea, mode and devicesDeveloping one visual idea out of the material: the landing line, the visual mode, and two to four devices with a one-line rationale each.defaultgraphicuifull
audioreferences/audio-sync.mdAudio bed: resolve the track and place itResolving a track, placing it in the project, and analysing it into a beat grid the rest of the workflow can trust.defaultgraphicuifull
beatsreferences/audio-sync.mdBeat sheet: map the concept to the beat gridMapping the concept onto the beats and writing the energy curve: where the reel bursts, where it holds, and where it lands.defaultgraphicuifull
storyboardtemplates/concept.mdStoryboard: per-shot timing, movement and transitionsPer-shot rows in the project file — time, beat, on-screen content, primary movement, transition, device — critiqued before they go to the review gate.defaultgraphicuifull
reviewreferences/quality-bar.mdMandatory review gate before any buildPresenting the concept, the beat sheet, and the storyboard. Nothing is built before you approve.defaultgraphicuifull
motionreferences/motion-language.mdDesign system, hero shot and the full buildBuilding the design tokens and one hero shot as a finished static frame, proving the render deterministic, then building the remaining shots to the approved storyboard.defaultgraphicuifull
critiquereferences/quality-bar.mdIndependent critic loop & quality barThe builder is never the final judge: critic, fix, render, a new critic, and a verdict of FIXED, PARTIALLY FIXED, or STILL PRESENT, until the bar passes.defaultgraphicuifull

Fetching a phase

Phase ids are exactly the ids in the tables above — nothing else is accepted, and a phase id belongs to one kit, so fetching a reel phase needs --kit reel. A mode is not a separate list either: it is every phase whose usedBy column names it, read from the selected kit — so --mode brief --kit film fetches exactly the phases marked brief in that kit.

$npx bountex-motion playbook interview --kit film

One phase, by its id. The kit flag is optional for the Film Kit: film is the default.

$npx bountex-motion playbook --mode brief --kit film

Every phase one mode needs, in the kit that owns that mode.

$npx bountex-motion playbook --mode graphic --kit reel

A Reel Kit mode. Mode ids are per kit: a Reel Kit mode is not accepted for the Film Kit, and a Film Kit mode is not accepted for the Reel Kit.

$npx bountex-motion playbook --all --kit film

All 6 phases of the selected kit in one call.

The output is Markdown on stdout, held in memory. Do not redirect it into a file and do not paste it into a commit: the skill treats a fetch that cannot be made as a hard stop, and treats a copy of the playbook on disk as a licence breach.

Modes

A mode decides how far the workflow goes and which phases it loads. Pass it as the first word after the trigger, or to playbook --mode. Mode ids belong to one kit, so each kit has its own table below, ending with the empty invocation that runs the default flow.

Film Kit /bountex-motion

ModeProducesPhases loaded
briefInterview and direction only. Produces video-project/creative-brief.md. Nothing is animated.interviewdirectiontemplate
promptReads the existing brief and produces video-project/production-prompt.md. Nothing is animated.interviewprompt
buildUses the brief and prompt you already have to storyboard, build, and render. Loads no interview phase — ask only the questions that would change the build.critiquebuild
fullIntake → research → brief → prompt → storyboard → build → render → critic → fixes → deliverables, in one session.interviewdirectionpromptcritiquebuildtemplate
defaultWhat runs when no mode argument is given: the whole Film Kit playbook, an interview, the brief, then prompt and build according to what you asked for.interviewdirectionpromptcritiquebuildtemplate

Reel Kit /bountex-motion-reel

ModeProducesPhases loaded
graphicA reel in the graphic visual mode; the concept picks the devices.conceptaudiobeatsstoryboardreviewmotioncritique
uiA reel in the ui visual mode; the concept picks the devices.conceptaudiobeatsstoryboardreviewmotioncritique
fullEvery phase end to end; the concept decides the visual mode.conceptaudiobeatsstoryboardreviewmotioncritique
defaultWhat runs when no mode argument is given: inspect context, then the reel end to end — concept, audio, beat sheet, storyboard, review gate, hero shot, build, critic loop, render.conceptaudiobeatsstoryboardreviewmotioncritique

Project files

Each kit keeps its state in files under its own directory in your repository — video-project/ or motion-project/ — because files are the source of truth and a chat log is not. The workflow creates only what the mode needs: no empty scaffolding.

video-project/ layout · Film Kit
video-project/
├── creative-brief.md      canonical brief (mode: brief)
├── production-prompt.md   filled universal prompt (mode: prompt)
├── storyboard.md          shots + per-ratio adaptation plan
├── critic-ledger.md       round / problem / change / result
├── quality-report.md      final critic verdict against the bar
├── human-review.md        what you should check with your own eyes
├── src/                   HyperFrames compositions
├── assets/                logos, UI, fonts, images, audio
├── references/            studied references (principles, never copies)
├── renders/               outputs
└── audio/                 music, SFX, mixes
motion-project/ layout · Reel Kit
motion-project/
├── concept.md           concept, devices, audio, beat sheet, storyboard
├── critic-ledger.md     round / problem / change / result
├── quality-report.md    final critic verdict against the bar
├── human-review.md      what the human should confirm personally
├── src/                 HyperFrames compositions
├── assets/              logos, UI, fonts, images
├── audio/               music, SFX
└── renders/             outputs
KitPathWhat goes in it
Film Kitcreative-brief.mdThe brief, with FACT, INFERENCE, CREATIVE DECISION, and UNKNOWN kept in separate sections. An inference is never quietly promoted to a fact.
Film Kitproduction-prompt.mdThe universal production prompt, filled with this project’s facts and decisions. The artifact that keeps a build honest.
Film Kitstoryboard.mdOne row per shot: time, on-screen content, viewer takeaway, purpose, main subject, movement, transition, carried object, and audio purpose. Critiqued before anything is built.
Film Kitcritic-ledger.mdEvery critic round: the problem, the change made, and whether the result was FIXED, PARTIALLY FIXED, or STILL PRESENT.
Film Kitquality-report.mdThe final critic’s verdict against the quality bar, written after the last correction pass.
Film Kithuman-review.mdThe things a machine should not sign off on for you: claims, brand accuracy, taste, and anything factually load-bearing.
Film Kitsrc/The HyperFrames compositions. One authoritative paused timeline per composition, no wall-clock animation, no unseeded randomness.
Film Kitassets/Logos, UI captures, fonts, images, and audio used by the build.
Film Kitreferences/Material you studied for direction. Principles are borrowed; frames are not.
Film Kitrenders/Rendered output, one file per aspect ratio, plus the music-only mix.
Film Kitaudio/Music, sound effects, voiceover, and the final mixes.
Reel Kitconcept.mdThe concept, the device list, the audio bed, the beat sheet, and the storyboard rows — the reel written down before anything is built.
Reel Kitcritic-ledger.mdEvery critic round: the problem, the change made, and whether the result was FIXED, PARTIALLY FIXED, or STILL PRESENT.
Reel Kitquality-report.mdThe final critic’s verdict against the quality bar, written after the last correction pass.
Reel Kithuman-review.mdThe things a machine should not sign off on for you: claims, brand accuracy, taste, and anything factually load-bearing.
Reel Kitsrc/The HyperFrames compositions. One authoritative paused timeline per composition, no wall-clock animation, no unseeded randomness.
Reel Kitassets/Logos, UI captures, fonts, images, and audio used by the build.
Reel Kitaudio/Music and sound effects for the reel, plus the mixes.
Reel Kitrenders/Rendered output at every requested aspect ratio, plus the music-only export.

None of these files are playbook content and none of them leave your machine. They are yours to edit: they are also the first thing the workflow reads when you come back to a project weeks later.

CLI reference

Every command is run through npx, so there is nothing to keep up to date globally: npx bountex-motion <command>.

CommandWhat it doesFlags
bountex-motion activate <key>Register this machine against a license key, claim a seat if this machine does not hold one, and store the device token locally. Label the machine with --name so it is recognisable in devices.--name, --api
bountex-motion install [kit]Detect your AI coding tool from the project, download that kit’s artifact for it, verify every SHA-256, and write the layout it expects. The kit defaults to film; --all installs every kit the license owns.--harness, --all, --global, --force, --dry-run, --api
bountex-motion update [kit]Re-check the artifact of the kit you name — every kit you have installed when you name none — and refresh the files you have not edited. Files whose on-disk hash differs from the receipt are left alone and listed.--harness, --global, --api
bountex-motion playbook <phase>Fetch one licensed phase of the selected kit and print it to stdout. Held in memory, written nowhere. Phase ids and mode ids each belong to one kit; --kit selects it and defaults to film.--kit, --mode, --all, --api
bountex-motion statusShow the license: plan, status, entitled or not, period end, seats used, and the harnesses each kit is installed into.--api
bountex-motion listList the kits this license unlocks, with their version and whether they are installed in this project.--api
bountex-motion devicesList every device holding a seat, with its id, label, platform, and when it was last seen.--api
bountex-motion deactivate [<device-id>]Free a seat — this machine’s seat when no id is given. Reactivating that machine later does not consume a new one, and the device’s token stops working immediately.--yes, --api
bountex-motion logoutDelete the local device token from this machine. It is not the same as freeing a seat.--api
bountex-motion doctorCheck Node, FFmpeg, Chrome, the stored token, the license, and whether the license server answers.--api
bountex-motion --help, --versionPrint usage, or the CLI version. bountex-motion <command> --help documents one command, and the root help lists both kits with their triggers, directories, and modes.—

Flags

FlagEffect
--kit <id>Which kit a playbook fetch reads from. One of: film, reel. Defaults to film; a phase id or a mode id from the other kit is a usage error.
--mode <mode>Fetch every phase one mode needs. Mode ids are per kit — each kit’s own modes are listed in the mode tables above.
--harness <id>Install into one specific tool instead of autodetecting. One of: claude-code, cursor, codex, opencode, copilot, antigravity, kimi.
--allOn install, every kit the license owns into every harness detected here. On playbook, every phase of the selected kit instead.
--globalInstall into your user-level configuration directory rather than the current project, so the trigger works everywhere.
--forceOverwrite files that were modified by hand. Without it, the installer refuses and tells you which files it skipped.
--dry-runPrint exactly what would change and write nothing. Use it on a repository you care about.
--api <url>Point the CLI at a different license server. Defaults to the configured production URL.
--yesSkip confirmation prompts. For scripts and CI; nothing else changes.

Exit codes

A non-zero exit means the command did not finish. Codes 3 and 4 print the server’s hint verbatim — that hint is the fix. Code 5 means nothing was written to disk.

CodeMeaning
0The command did what it promised.
1Something failed with no more specific code: the license server was unreachable, answered with a server error, or rate-limited the request. The message says which, and a rate limit says how many seconds to wait.
2The command line itself was wrong. Re-run with --help. A malformed license key is caught here, before any network call.
3There is no usable device token. Either this machine was never activated, it was logged out, or its seat was freed from elsewhere. Run `bountex-motion activate <key>`.
4The license is active but does not permit this request: it lapsed, was revoked, or all seats are taken. Check the billing portal, or run `bountex-motion devices` and free a seat.
5A downloaded artifact did not match its SHA-256. Nothing was written to disk. Re-run the command; if it repeats, the artifact is corrupt on the server, not on your machine.

Rate limits

Limits exist so one runaway session cannot exhaust a shared server. Exceeding one returns a message with the number of seconds to wait, and the CLI exits 1.

BucketLimitCounted per
Activation20 per hourclient IP
Playbook fetches60 per hourdevice
Kit downloads30 per hourlicense

Devices & seats

A license includes 3 device seats. A seat belongs to a machine, not to a session: the device id is derived from the hostname and platform plus a random salt generated on that machine, so it survives reinstalls, Node upgrades, and new projects.

Reactivating the same machine never costs a seat. If the device id is already on the license, activation refreshes the token and the last-seen time and changes nothing else. Reinstalling the CLI, moving the project, or running activate twice in a row is free.

When the seats are full, activation refuses with device_limit_reached and tells you exactly what to run. Free a seat by id, and the released machine’s token stops working on its next request — so a laptop you have sold or wiped is off the license immediately.

$npx bountex-motion devices
$npx bountex-motion deactivate <device-id>

The dashboard is a device too

The subscriber dashboard activates a browser session against your license so it can show you the seat list and the billing portal. It is registered as Browser (web dashboard) and it holds one of the 3 seats while it is active, which is why it can release itself again in one click. If you would rather not spend a seat on it, use npx bountex-motion status instead.

Updating

Both kits improve while you are subscribed, and update is how the improvements reach you. It re-checks the artifacts you have installed for their harnesses and refreshes the files that are unchanged from the release you installed. Name a kit to update only that one.

It never overwrites a file you edited. Every file from the original install is recorded with its SHA-256. If the hash on disk no longer matches the receipt, update leaves that file exactly as it is and prints it in a skipped list, so a customised skill or hint block survives. Pass --force to a fresh install when you have read the list and want the release version back.

The licensed phase content needs no update at all: it is fetched fresh at the start of every phase, so the current release is what your agent reads next session.

$npx bountex-motion update
$npx bountex-motion update film
$npx bountex-motion update reel

Troubleshooting

The eight failures people actually hit, with the message each one prints and the fix. If none of them match, run npx bountex-motion doctor and send us what it says.

  • 01 The terminal says the command does not exist

    The exact error
    bash: bountex-motion: command not found

    There is nothing to install globally, so call it through npx: npx bountex-motion <command>. If npx itself is missing, Node is not on your PATH — install Node 20 or newer and open a new terminal. If npx refuses to fetch, add --yes.

  • 02 A kit installed but my tool does not know about it

    The exact error
    No skill named "bountex-motion" and no /bountex-motion command in the tool’s command list.
    No skill named "bountex-motion-reel" and no /bountex-motion-reel command in the tool’s command list.

    Check that the install root for your tool exists in the project (see the harness table above). Autodetection picks the first marker it finds, so a project that contains two tools needs --harness <id>. Both kits install into the same roots but register different skills and triggers, so a trigger that is missing usually means that kit was never installed here — install it, then reload. Most tools only scan at start-up: open a fresh session or reload the window. For the two plugin-based tools, run the plugin install step printed after install.

  • 03 The trigger does not appear in the tool

    The exact error
    /bountex-motion is not in the command or slash-command list.
    /bountex-motion-reel is not in the command or slash-command list.

    Not every tool uses a slash command. Film Kit: Codex CLI has none — ask it to run the bountex-motion skill by name; GitHub Copilot uses @bountex-motion; Kimi Code needs /plugins install .bountex-motion/film, a fresh session, and then /bountex-motion:film. Reel Kit: Codex CLI has none — ask it to run the bountex-motion-reel skill by name; GitHub Copilot uses @bountex-motion-reel; Kimi Code needs /plugins install .bountex-motion/reel, a fresh session, and then /bountex-motion:reel. For every other tool, reinstall with --harness <id> and reload. --global puts it outside the project, which some tools need.

  • 04 The license is not recognised, or a phase is refused

    The exact error
    Error: not_entitled — This license cannot fetch that phase. (code: not_entitled)

    Run npx bountex-motion status. If the key is unknown, re-check the receipt email — keys are Crockford base32, so an O is a zero, an I or an L is a one, and a U is a V. If the status is past_due, the subscription needs a payment: open the billing portal from the dashboard or the link in the receipt. If it reads revoked or expired, the license has ended.

  • 05 Activation refuses with a seat error

    The exact error
    Error: device_limit_reached — This license is active on 3 of 3 devices.

    Run npx bountex-motion devices to see which machines hold the seats, then npx bountex-motion deactivate <id> for one you no longer use. Reinstalling on a machine that already holds a seat never consumes an extra one, so activating the same laptop again will not hit this.

  • 06 A phase fetch fails mid-session

    The exact error
    Error: rate_limited — Too many playbook fetches for this device. Retry after 43 seconds. (limit: 60/hour)

    Wait for the Retry-After the message names, then fetch again, or fetch by mode to load several phases in one call. If the error is device_unknown or subscription_inactive instead, run npx bountex-motion status and fix the license first. Do not carry on without the phase: the skill tells the agent to stop rather than improvise it, and that instruction is the product working as intended.

  • 07 The render fails with unknown HyperFrames flags

    The exact error
    error: unknown option '--<flag>'

    The composition contract is written against a specific HyperFrames CLI surface, and an older or newer binary can have moved a flag. Run npx hyperframes --version, upgrade the renderer with npx hyperframes upgrade, and re-run the render spike on one composition before rendering the whole piece. If a flag genuinely no longer exists, the build phase is the place that has to change — say so rather than hand-editing the composition around it.

  • 08 The build finishes but nothing renders

    The exact error
    renders/ is empty after the render command exits 0. (Often preceded by: Could not find Chrome, or ffmpeg: command not found)

    Check the three render requirements: Node 22 or newer, FFmpeg on PATH, and a Chrome or Chromium binary. npx bountex-motion doctor tests all three in one command. Then re-run the render spike on the single hero composition before the full build, and read the quality report — if the spike never passed, the full render is the wrong next step.

Support

Support is a human on Telegram @bountexlabs. It is also where refund requests go inside the 14-day window; after that, cancel from the billing portal.

Messages get answered fastest when they include the exact error text, the output of npx bountex-motion doctor, the last eight characters of the device id if a seat is involved, and your OS and Node version.

Never paste your license key or a device token into a support message. Nobody at BountEx Labs will ask for either.

Activate a licenseSee what is in the kits