Skip to main content

Working with Reelwire through an assistant

Six 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, spends a render or spends money at an AI service, 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 save a preview video 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. Every plan can do this, Free included.

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 with a field map from your names to the template's, and reelwire_validate_event to prove the example would be accepted without publishing it. Once the stream has received a real event, reelwire_suggest_field_map proposes a map from what actually arrived, and reelwire_update_stream saves the one you agree with.

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". Show me the templates I can use and let me pick one, then subscribe our LinkedIn channel to the list 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_list_templates, 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, which says how many renders the month has left and how the storage is split between the media library and rendered clips, and reelwire_list_renders for what drew each clip. It needs Allowance read and Templates - Direct export read as well.

Which posts were handed over to us but not marked as published yet?

Reelwire posts nothing itself: it hands each post over, by email, by webhook or both, and waits for somebody to say it is up. reelwire_list_posts finds the channels that read Handed over; once you have posted one, reelwire_mark_post_published records it with its link, reelwire_skip_post says it will not be posted, and reelwire_resend_post_email sends its email again. All three need Posts write.


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.
    • Made with AI, where your workspace has connected an AI service: see section 6.

    Pictures may be PNG, JPEG, WebP, GIF or SVG, 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.

In Claude and ChatGPT a player appears under the answer as soon as the render starts and follows it by itself. Elsewhere the assistant watches reelwire_export_status and finishes with reelwire_download_export.

Several shapes and languages at once. Ask for "the same video in 9x16 and 16x9, in English and German" and the assistant uses reelwire_export_videos: one video for every shape in every language, up to 24, each spending one render. It says how many videos that is before it starts, and the whole batch is refused when the month's allowance cannot cover it. reelwire_export_queue follows them all at once, as the Exported videos list under Templates does, and reelwire_download_export fetches each one.

Making one again. "That clip from Tuesday, with the new figure": reelwire_reuse_clip (a rendered clip or an export) and reelwire_reuse_post (a post) read what it was made from, its template, brand, shape, language and content, every language included, and change nothing. The assistant changes only what you asked for and renders it again with reelwire_export_video, or, for a post, writes it into a post list with reelwire_schedule_post, which publishes.

This spends one render from the month's allowance, charged when it finishes; an export discarded before it finishes is never charged. When the server runs on your own machine, reelwire_export_keyframes draws stills instead and is not charged, which is the cheaper way to check a layout.

Where the file goes. What you get is the .mp4 itself, with nothing to unpack. 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 a Download video button. 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 .mp4. For a kept export the link works for as long as the clip is kept, and stops when it is deleted or rotated out; for one that could not be kept because the storage was full, it lasts fifteen minutes.
  • Running the server on your own machine over stdio: the .mp4 is written to your disk and the assistant opens it in your own browser, which plays it.

6. Make pictures, videos, music, fonts and texts with AI​

The same AI assistant the dashboard has, from the conversation: a logo for a brand, a background video, a soundtrack, a picture for a clip, a font for headlines, or the texts of a post. It works with the AI services your workspace has connected (OpenAI, Google, Black Forest Labs, BytePlus for Seedance, ElevenLabs, Stability AI and Anthropic), and each of them bills your own account at its own prices; Reelwire adds nothing.

Before anything else, somebody adds a key. The keys for those services are added by an owner or an admin on the API keys screen, in the card for what they switch on: API keys for AI image generation, video generation, music generation, or text and font generation. A key switches its service on in that card only, so a service can make pictures and not videos. No tool can add one, and no API key can reach them.

Key needs: Media - AI assistant, write. Read alone lets it list the models and read chats, not make anything.

Make me three ideas for a logo for Northwind Markets: navy and white, simple, on a clear background. Keep the one I pick and put it on the Northwind brand.

What it should do. reelwire_ai_models first: it lists every model by kind, what each is good at, and configured, whether your workspace has a key for it in that section. Then it says which model it would use and asks before it spends anything, since every message is billed by the service; prices are the service's own, and each service's price list is linked from the models. reelwire_ai_generate starts a chat and answers at once; reelwire_ai_chat shows how it is going and, when it is done, the results with a preview. reelwire_ai_reply asks for a change ("make the background blue", "shorter"), and can change one picture rather than start again. reelwire_ai_keep puts the one you pick into the media library, and reelwire_set_brand_asset points the brand at it. reelwire_ai_chats lists the chats of the last day, to pick one up again.

What each kind is like:

  • Pictures and texts take seconds to a minute. A text comes back as JSON in the shape the assistant asked for, ready to use in a post, and has no file to keep. A picture can also start from one already in your media library, where the model can change a picture: "make our banner warmer".
  • Music takes up to a minute or two: a piece of ten seconds to two minutes, instrumental unless you ask for singing where the model can (ElevenLabs). Describe it in English for Stability AI. Keep it, then reelwire_set_brand_asset makes it the brand's soundtrack.
  • Videos take one to four minutes. A video can start on a picture from your media library and end on another, where the model allows it: keep the picture first, then ask for a video that starts on it.
  • Fonts are drawn letter by letter by a text model and built into a font file (.otf), one per message, in a few minutes. A drawn font is simple and clean rather than refined, best for short headlines.

Stopping. reelwire_ai_stop stops a message that is still being answered, and nothing is kept from it. Where the service lets a request be cancelled, Reelwire cancels it there too; the others may still finish, and bill, what they had begun.

What is kept. Results are proposals, kept for a day after the chat was last used. Keeping one follows the media library's own rules: pictures up to 2048 pixels a side, videos up to 5 MB, and your storage allowance. The AI assistant API has the detail.


7. Hand your posts on to your subscribers​

On Enterprise, Syndication hands your channels' posts on to your own subscribers, who sign themselves up in an iframe on your portal. An assistant can set it up and look after it.

Key needs: read and write on Syndication.

Make a syndication group of our three news channels, by email and webhook, shown only on portal.example.com, and give me the code for our portal.

What it should do. reelwire_add_syndication_group with the channels from reelwire_list_channels, which answers the iframe code (page.frame) and the portal key for customer IDs, then reelwire_syndication_preview with kind: "page" to show what subscribers will see before anybody does.

Other questions that work well:

Who signed up for the German group, and does anything reach them?

Reaches reelwire_list_partners, which says for each subscriber whether they signed up themselves or were added, whether their address is confirmed and their webhook answered, and their last delivery.

Add anna@example.com to the partner group, and block the webhook that keeps failing.

reelwire_add_subscriber (the address still gets an email asking its owner to confirm it) and reelwire_update_partner with blocked: true.

Send our subscribers' emails through our own mail server, and send me a test.

reelwire_set_syndication_look with the mail server's settings, which Reelwire tries before saving, then reelwire_syndication_test_email. What went to whom, and what came back, is reelwire_list_partner_deliveries.


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, or spends money, 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 team or syndication to a workspace that does not have them.

Pick a ready-made prompt. The server offers four, which clients that show MCP prompts list beside it: Get started with Reelwire, Export one video, Write a post for a channel and What went out, and what is stuck.

What it will refuse, and why​

It will notBecause
Make or revoke API keysA credential that mints credentials is a skeleton key
Add or remove the keys for your AI servicesThey spend your money at another company. An owner or admin adds them, signed in
Rotate the webhook signing secretSame reason. It is shown once, in the dashboard
Change the plan, buy allowance, touch invoices or commissionMoney belongs to a person who can be named for having spent it
Change how storage is splitThat is the owner's decision, signed in
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.

A secret stays out of the conversation as well, held back by the tools themselves: a new colleague's starting password, since they get a letter with a link to choose their own. So does the webhook's signing secret, which no key can read at all.