Guide · 6 min read

Move anything: exporting and importing shows and channels

How ChannelOS bundles work — export a show (.show.channelos.tv) or a whole channel (.channel.channelos.tv) with schedule, shows and media baked in, then import it into any workspace as a fresh, self-contained copy.

S By The ChannelOS team
The ChannelOS channels list with export and import controls

Sometimes content has to move — to a client’s workspace, between a staging and a live account, or just as a backup you can trust. ChannelOS handles this with one portable bundle format: a show downloads as .show.channelos.tv and a channel as .channel.channelos.tv. Same engine underneath, one extension per kind so you can tell at a glance what’s inside.

What a ChannelOS bundle actually is

It’s a ZIP with everything the content needs to stand on its own:

Because the media is baked in and there are no remote URLs, the file works offline and in any workspace. Nothing can rot.

Export a show

Go to Shows (/shows), open a show card’s three-dot menu, and choose Export…. You get a <name>.show.channelos.tv file (named after the show) containing the show, its brand kit, and all of its media.

Import a show

On the Shows page, click Import show (top-right), pick a .show.channelos.tv file, and ChannelOS:

  1. Unpacks the ZIP and validates the manifest and integrity.
  2. Creates a new show with a new ID — never overwriting an existing one.
  3. Re-uploads the media into your workspace’s store, skipping anything outside the safe type whitelist.
  4. Recreates the brand kit as a fresh entity.

On success you get a Show imported toast and land in the editor, ready to use it. If any media was skipped, the toast says how many.

Export a channel — schedule and all

A channel is more than a list — it’s a plan. So Export… from a channel row’s menu produces a <name>.channel.channelos.tv that carries:

One file, the entire broadcast plan.

Import a channel

On Channels, click Import channel, pick the file, and ChannelOS rebuilds the whole thing: a new channel with new show IDs, the schedule remapped onto those new shows, media re-uploaded, brand kits recreated. The success toast reports how many shows came across. The result is a working channel on its timeline — schedule intact — with no dependency on where it came from.

Why it’s safe to do often

Three properties make this boring in the best way:

Export to hand a finished channel to a client, to snapshot before a big change, or to clone a proven setup into a new location. The file is the whole thing — pick it up, drop it anywhere, and it just runs.

Frequently asked questions

What is a .show.channelos.tv or .channel.channelos.tv file?
A ZIP with a checksummed manifest plus every entity and media file the export needs. A show export (.show.channelos.tv) contains the show, its brand kit and all referenced media. A channel export (.channel.channelos.tv) contains the channel, its full schedule, every show it airs and all of their media. Both are frozen — no remote URLs — so they work offline and across workspaces.
Does exporting a channel include its schedule and shows?
Yes. A channel export carries the full program array — times, recurring weekdays, date ranges — plus every show the channel airs (default, scheduled and any live takeover) and all their media and brand kits. Import it and the schedule comes back intact, remapped to the new shows.
Will importing overwrite something or break links?
No. Import always creates new entities with new IDs and re-uploads the media into the destination workspace. Nothing is overwritten and there are no links back to the original, so you can import the same file repeatedly without collisions.
Why are some media types skipped on import?
Import only accepts a safe whitelist — PNG, JPG, GIF, WebP, AVIF, MP4, WebM, OGG. Anything outside it (e.g. SVG or executables) is skipped for security, and the success toast tells you how many files were skipped.

Your screen is two minutes away.

Open the player on a TV, scan the code, publish a show. Your first screen is free.

Keep reading