Back to Playlist · VidFarm Walkthrough Tutorial
Part 31 of 33Developer6 min read
Developer

Install the VidFarm devcli locally

One npm install gives you the vidfarm command-line director. Run it local-first — the full editor boots on localhost, HyperFrames is bundled, and rendering happens in-process for free.

Copies the whole guide — prompts, next steps & all — for your AI agent
Watch this chapter
Installing @officexapp/vidfarm-devcli, running vidfarm doctor, then vidfarm serve to boot the full editor locally and render an MP4 for free.

Key takeaways

  • Install with npm i -g @officexapp/vidfarm-devcli — the binary is vidfarm (alias vidfarm-devcli).
  • Or run it zero-install with npx -y @officexapp/vidfarm-devcli.
  • Authenticate with VIDFARM_API_KEY (or the --api-key flag) from Settings → Developer.
  • vidfarm serve boots the full editor on localhost:3000 and renders in-process for free — no cloud, no wallet charge.
  • HyperFrames is bundled — the local renderer is HyperFrames turning your composition's HTML into MP4.

A local-first director in your terminal

The devcli is the same VidFarm platform, packaged to run on your own machine. It's local-first: most commands work off disk with an in-process backend, so you can browse files, clip raws, edit compositions, and render for free — then hand off to the cloud only when you want to. HyperFrames ships inside it, so the local renderer is the real thing turning HTML into MP4.

Manual walkthroughSet it up locally

  1. Install the CLI

    Install it globally so you get the vidfarm command everywhere:

    Install
    npm i -g @officexapp/vidfarm-devcli
    # or, zero-install:
    npx -y @officexapp/vidfarm-devcli --help
  2. Run the doctor

    vidfarm doctor triages your local environment — ffmpeg, node, keys, and the agent CLI. Run it first whenever something misbehaves.

    Environment check
    vidfarm doctor
  3. Connect your account (optional)

    Export your API key from Settings → Developer so the CLI can mirror the cloud catalog and hand renders off to the cloud when you ask: export VIDFARM_API_KEY=<key>. You can skip this and stay fully offline.

  4. Boot the full editor locally

    vidfarm serve <template_id> boots the full editor at http://localhost:3000, pulls that template's fork onto disk, and opens your browser pre-authed. Records and storage live on disk; render runs in-process on this box for FREE.

    Boot the editor
    vidfarm serve <template_id>
    # add --no-cloud to run fully offline
  5. Edit and render

    Point your coding agent at the composition on disk (under the data dir's storage/compositions/forks/<forkId>/working/composition.html) — saving it live-morphs the open browser tab. When you're ready, click Render Local (Free) in the editor, or run vidfarm render <forkId> --dir ./work --wait.

Terminal — vidfarm serve (local-first)
$ npx -y @officexapp/vidfarm-devcli serve template_019f41…

[vidfarm] booting local backend on http://localhost:3000
[vidfarm] provisioned local user + workspace (on disk)
[vidfarm] pulled template's default fork → ./work
[vidfarm] editor ready, pre-authed → opening http://localhost:3000/editor

Dual modeLocal, cloud, or both

Many commands take a target flag. They default to --local (the in-process backend off disk) when a local backend is available, and fall back to --cloud (vidfarm.cc) otherwise. Pass --both to merge the two, with rows tagged [local] and [cloud].

Common commands
# defaults to local; add --cloud or --both
vidfarm directory --both        # list your files across local + cloud
vidfarm doctor                  # triage ffmpeg / node / keys / agent CLI

# render on the serve box (free) vs cloud (billed 1.2×)
vidfarm render <forkId> --dir ./work --wait          # local, free
# or over REST: pass render_target: "cloud" to bill the wallet

What serve bootsReal frontend pages, served off your disk

vidfarm serve doesn't just render — it boots the actual VidFarm web app on localhost:3000, single-origin and disk-backed. The pages you'd use on vidfarm.cc are right there, pointed at your local records:

The full VidFarm Trackpad editor running at localhost:3000 after vidfarm serve — timeline, canvas, and chat dock, pre-authed on a local fork.
vidfarm serve boots the real /editor on localhost:3000, backed entirely by records on your disk.
The /tools/clipper page served locally — a source video with in/out timecodes for cutting a subrange into the raws library, running in-process.
Without a cloud key, serve falls back to local browse mode and opens /tools/clipper — clip raws with no wallet involved.

Free-tier pathDiscovery: paid /discover vs. free agent browsing

The in-app /discover catalog — the curated viral-video feed and one-click "Add New" ingest — is a paid-tier feature. Free accounts see a capped preview with an upgrade CTA. That does not lock free users out of discovery, though:

Two ways to discover
# FREE discovery — agent finds a viral clip on the open web, you import the URL
vidfarm inspiration-add https://www.tiktok.com/@creator/video/1234567890
# → decomposes into a forkable template, no /discover plan needed

# PAID discovery — search the curated in-app catalog
vidfarm discover "cozy morning routine" --sort wow
Tip Give a browser-capable agent your niche and let it do the crawling: "find 5 trending cooking hooks on TikTok this week and inspiration-add each one." Free users get discovery through the agent's Chrome session; the curated /discover feed is the paid convenience layer on top.

Fewer REST callsFile uploads &amp; other conveniences

A lot of what would take several raw REST calls collapses into one devcli command. Uploading media is the clearest example — vidfarm upload-media is the /editor "Upload media" button from the terminal. It takes a local file, a My Files path, or a URL, uploads and resolves it, and can drop it straight onto a composition — all in one line:

One command, not a REST dance
# upload a local file and place it onto a composition at 4s
vidfarm upload-media ./b-roll.mp4 --into ./work/composition.html --at 4s

# pull from My Files (path or name) or a public URL — source inferred
vidfarm upload-media /raws/kitchen/pour.mp4 --into ./work/composition.html
vidfarm upload-media https://example.com/logo.png --kind image

# import a whole VIDEO URL into your raws library
vidfarm upload-media https://youtu.be/… --from raw --folder inspo

The raw REST equivalent means requesting an upload target, PUTting the bytes to storage, then a separate call to register the media and another to attach it to a layer. The CLI folds all of that — plus path resolution across your five file roots and timeline placement — into upload-media. The same convenience wraps directory/put-file (file management), clipper (subrange clips), and place/set-media (layer edits).

What it costs Local render is free — it runs in-process on your machine, no wallet involved. The editor's Render button becomes a popover offering Render Local (Free) and Render in Cloud (billed to your wallet at 1.2×). Free mode = do everything local.
The editor's Render button expanded into a popover with two options: 'Render Local (Free)' with an in-process HyperFrames badge, and 'Render in Cloud' noting it bills the wallet.
On a serve box the Render button offers a free in-process render or a cloud render billed to your wallet.
Heads up The web editor strips <script> tags on save, so GSAP / JS-adapter compositions only round-trip through devcli render, not the browser editor. Keep browser-editable compositions declarative. Without a valid cloud key, serve falls back to local browse mode.

Where to go next

You've got the CLI running locally. Next, learn the file-backed scripting posture for repeatable, unattended runs — or the fully-free NVIDIA path:

Boot the editor on your machine

Install @officexapp/vidfarm-devcli, run vidfarm serve, and you've got the full editor on localhost — with free, in-process Vidfarm renders.

Grab your API key