Skip to main content

Working with Reelwire through an assistant

Five things people actually do, as conversations rather than as endpoints. The prompts are written to be pasted and edited: they say what you want, not which tool to use, because choosing the tool is the assistant's job and telling it which one usually makes it worse.

Every example assumes the server is connected and the key has the permissions the task needs. Where a step publishes something or spends a render, it says so.


1. Set a workspace up from nothing

The chain is brand → channel → a source of content → a subscription joining them. Getting it wrong is silent: a channel that subscribes to nothing renders nothing, and that looks exactly like everything being fine.

There is a tool for exactly this, and it is the shortest way in. reelwire_getting_started walks that chain with you instead of leaving you to find it in the screens. It reads what your workspace already holds, then asks you one question at a time: what you want out of it, where content should come from, and whether posts wait for a person. Answer those and it stops asking and starts naming steps, skipping whatever is already done.

The prompt below is what to say if you would rather lead. Either way the tool is worth having in the conversation, because it is the thing that knows what is already there.

Key needs: Brands, Channels, Feeds or Manual post lists, and Templates read.

I'm setting up Reelwire for the first time. We're Northwind Markets, a currency broker. Our brand colour is #0B4F8A. Walk me through it one step at a time and ask before creating anything:

  1. Make a brand with our name and colours
  2. Make a channel for our LinkedIn page
  3. Show me what data feeds we're entitled to, and what a clip from each would look like
  4. Subscribe the channel to the one I pick

Stop after each step and show me what you made.

What it should do. Call reelwire_draft_brand for a valid starting style, reelwire_brand_palette to work out a readable set of colours from #0B4F8A rather than inventing hex values, then reelwire_create_brand and reelwire_update_brand. Then reelwire_list_surfaces and reelwire_create_channel. Then reelwire_list_feeds and reelwire_feed_reference to show you a still of each. Then reelwire_subscribe_channel.

The part people skip. The subscription. Ask for it explicitly:

Is that channel actually subscribed to anything? Show me what it will publish and when the next one would fire.


2. Connect it to your own data

For a workspace whose content comes from its own systems rather than from a shipped feed. Needs the Custom API capability on your plan, which reelwire_plan will tell you.

Key needs: Custom feeds, Custom feeds - Send raw data, Templates read.

We want to publish a clip every time one of our own price alerts fires. Here's an example of what our system sends:

{ "pair": "EURUSD", "direction": "up", "pct": 1.4, "note": "ECB minutes" }

Set up a custom feed for it, map our field names onto whatever the template expects, and show me the request my system should make. Don't send anything real yet.

What it should do. reelwire_list_templates and reelwire_template_format to learn the shape the template wants, reelwire_create_stream to make the feed, reelwire_suggest_field_map to propose the mapping from your names to the template's, and reelwire_validate_event to prove the example would be accepted without publishing it.

Then, when you are ready:

Now send that example for real.

This publishes. reelwire_send_event draws a clip for every subscribed channel and posts it. Each clip spends one render from the month's allowance.


3. Write and schedule posts

For content somebody writes rather than data that arrives.

Key needs: Manual post lists, Templates read, Brands read.

Make a post list called "Weekly market wrap" using the big-number template, subscribe our LinkedIn channel to it, and put these three posts in it for the next three Fridays at 09:00 Berlin time:

  • EURUSD closed the week at 1.0840, up 0.6%
  • Gold held above 2,300 for the fifth session
  • Brent slipped to 78.20 on inventory data

Show me the schedule in UTC before you write anything.

The thing to watch. Times are UTC everywhere in Reelwire. "09:00 Berlin" is 07:00 or 08:00 UTC depending on the month, and an assistant that gets this wrong publishes an hour out all winter. Ask it to show you the UTC instants before it writes, as the prompt above does.

What it should do. reelwire_create_post_list, reelwire_subscribe_channel, then reelwire_schedule_post three times. reelwire_calendar to read it back.


4. Find out what happened

The one an assistant is unreasonably good at, and the one worth connecting a read-only key for even if you never let it publish anything.

Key needs: read on Posts, Received, Publishing.

Three posts failed yesterday. What happened to each of them, and is it the same cause?

What it should do. reelwire_list_posts filtered to failures, then reelwire_post_trace on each one, which returns the whole chain in a single answer: what arrived, which template and version drew it, the render and its errors, the approval, and every delivery attempt with what the platform said.

Other questions that work well:

Did anything arrive from our feed this morning that produced nothing? Why not?

Reaches reelwire_list_ingest_events, where the useful column is what an event was matched to. An event with no match published nothing and is the most common cause of "it just stopped working".

Which of our channels hasn't published in the last two weeks?

We're close to the render limit. What's using it?

Reaches reelwire_render_quota and reelwire_storage_split. The answer is usually rendered clips rather than uploaded files.


5. Make one clip, without publishing it

For a proposal, a pitch or a look at a template before committing a series to it.

Key needs: Templates - Direct export, Templates read, Brands read, and Media write if it should bring pictures in.

Make me a video about our Q3 results, wearing the Northwind brand. Don't publish it anywhere.

What it should do: ask before it renders. A template draws more than a headline: most can carry figures, short points, up to three pictures and a source. So the assistant starts with reelwire_plan_export, which reads the template's own field definitions, your media library and the brand's filled slots, and then works the content out with you in a few short rounds:

  1. What the clip is about, and the required lines.

  2. The optional parts that make it worth posting: the figures, the points, a source. The numbers and sources come from you; the assistant may suggest wording, never facts.

  3. Pictures, where the template takes them, in whichever way suits:

    • Attach them in the chat. The assistant cannot pass a picture it sees into a tool, so it asks Reelwire for a one-time upload link (reelwire_media_upload_link) and sends the files to it from its own code sandbox, which holds the real files. The link takes up to ten files within fifteen minutes and stops working if the connection's key is revoked. This needs the assistant's code execution to be on and allowed to reach your Reelwire address; where it is not, the assistant says so and falls back to the Media screen.
    • Give it a web address, and reelwire_import_media fetches the file in.
    • Upload them yourself on the Media screen, from a link the assistant gives you; it waits until you say they are there.
    • Already in your library, by name.

    Pictures may be up to 2048 by 2048 pixels.

  4. The brand: if its logo is missing it offers to add one the same way.

  5. The shape and the language, then a summary and a clear "this spends one render" before reelwire_export_video. reelwire_export_timing says how long the clip will be without spending anything.

It then watches reelwire_export_status and finishes with reelwire_download_export.

This spends one render from the month's allowance, charged when it finishes. reelwire_export_keyframes gives you stills instead and is not charged, which is the cheaper way to check a layout.

Where the file goes. A video cannot be a tool result, so how it reaches you depends on where the MCP server runs.

  • In Claude and ChatGPT the clip plays in the conversation. A small player (an MCP App) appears under the answer the moment the render starts, shows the wait and the progress, and swaps in the finished video by itself, muted to start, with buttons for the zip and the bare .mp4. Clients that do not show apps give you the link instead.
  • Every export is kept with your rendered clips, in their share of the storage, so it is still there after you close the chat, and it is listed under Rendered clips on the Media page. When that share is full the oldest clip goes first, whether it was a post's or an export. Ask "show me my exports" for a grid of them: each tile plays in place and has Download, Variation (which asks the assistant to make a changed version from the same content) and Delete.
  • Connected to the hosted server (claude.ai, ChatGPT, Claude Desktop through a connector): the assistant hands you a download link. Click it and your browser saves the file. The link works for fifteen minutes, and a fresh one is one more question away for as long as the export exists, which is two hours or until it is discarded.
  • Running the server on your own machine over stdio: the file is written to your disk and the assistant opens it for you.

What you get by default is a zip holding the video and a small page that plays it: unzip it and open the page in your browser. Ask for the bare video if you want only the .mp4.

And ask it to open the thing. What downloads is a zip holding the clip and a small page that plays it. The tool's answer tells the assistant to unzip it and open that page in your own browser, the one your machine opens links with, and never in its own built-in browser or preview pane. Worth knowing why, because assistants reach for their internal browser by habit: the page references the video file sitting beside it on disk and loads nothing from the network, which is what makes the zip work offline and survive being forwarded to somebody outside your company. A sandboxed viewer either refuses to open a local file at all or loads the page without the clip next to it, and a player with nothing in it looks exactly like a render that failed.

The page rather than the .mp4 for the same reason it is in the zip at all: double-clicking a video file opens whatever your machine happens to have registered for video, which on a work laptop is anything from a player that takes the whole screen to something offering to convert it first. Ask for bare: true if you want the .mp4 on its own.


Getting better answers

Let it read the manual. The documentation is inside the server. reelwire_search_docs and reelwire_read_doc mean an assistant that does not know something can look it up instead of guessing at a request body. If an answer looks invented, say "check the documentation first".

Ask it to validate. Every publishing path has a validate twin that costs nothing and refuses for the same reasons. "Validate it first" is the single most useful instruction you can give.

Ask what it is about to do. Anything that publishes is worth a sentence first:

Before you send that: what exactly will go out, to which channels, and how many renders does it cost?

Tell it the plan matters. reelwire_plan says which tier the workspace is on and what that switches on. An assistant that reads it first stops offering A/B tests to a workspace that does not have them.

What it will refuse, and why

It will notBecause
Make or revoke API keysA credential that mints credentials is a skeleton key
Rotate the webhook signing secretSame reason. It is shown once, in the dashboard
Change the plan, buy allowance, touch invoicesMoney belongs to a person who can be named for having spent it
Rename the workspaceIt is on the invoice. The owner does it, signed in
Change your own profile or passwordThere is nobody behind a key to be
Reach another workspaceNothing can, at any permission

These are refused by the API to every key, not by the tools. Writing your own client does not get around them. See Permissions.