Reelhouse

Make and post marketing videos for your business from your AI assistant.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • List Brands: Every brand (business) on this account: id, name, website, and which one the token was made in. Pass brand: <id or name> to any other tool to work on that brand.
  • Create Brand: Add a brand to this account (shares its credits, plan and AI twin), then read its website to build the brand kit (colors, fonts, voice, offerings). Returns the brand and a job to poll.
  • Setup Business: Set up this brand so the owner never fills in forms: saves its name, website and timezone, then reads the website (or the description) to build the brand kit (colors, fonts, voice, off

What data it sees

Do you need an account

No: the server works without sign-in

Make and post marketing videos for your business from your AI assistant. Set up your brand once, then turn a product, offer or idea into a finished short or long video with script, voice, music and captions. Use 70+ ready-made templates or AI characters built from photos, then schedule posts to every major social platform.

How to connect

How to connect Reelhouse to Claude

The server address to paste into Claude settings:

https://reelhouse--sterling-37tx.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect Reelhouse to ChatGPT

The server address to paste into ChatGPT settings:

https://reelhouse--sterling-37tx.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect Reelhouse to Cursor

The server address to paste into Cursor settings:

https://reelhouse--sterling-37tx.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (34)

Raw names from tools/list. Only developers need these.

list_brandsEvery brand (business) on this account: id, name, website, and which one the token was made in. Pass brand: <id or name> to any other tool to work on that brand.
create_brandAdd a brand to this account (shares its credits, plan and AI twin), then read its website to build the brand kit (colors, fonts, voice, offerings). Returns the brand and a job to poll.
setup_businessSet up this brand so the owner never fills in forms: saves its name, website and timezone, then reads the website (or the description) to build the brand kit (colors, fonts, voice, offerings). Use it right after connecting when reelhouse_overview says setupNeeded, or to redo the brand. Ask the owner for their website if you don't know it. Returns a job to poll.
upload_mediaAdd a video/photo/audio file to the media library WITH labels, and get an upload URL. PUT the file bytes to upload.url with the given headers (e.g. curl -X PUT -H "content-type: video/quicktime" --data-binary @file.mov "<url>"), then call complete_upload (pass duration_sec for video). Label well: title, purpose, subject, notes and moments are what the video makers read. Screen recordings and gameplay: purpose + subject + moments.
complete_uploadFinish an upload after the PUT succeeded; the item becomes usable. Videos are then analysed automatically (keyframes + transcript → summary and scored best parts, ~1-2 min; see list_media → analysis). For video give duration_sec (and width/height) if you know them.
analyze_mediaRe-run the best-parts analysis on a video (after relabelling it, or if it failed).
list_mediaSearch the media library (uploads and website photos). Filters: kind (video|photo|audio|logo|screenshot), purpose, subject, q (words matched against title, description, notes, tags and moment labels). Each item has its labels, moments, duration and a signed url.
label_mediaChange a library item's labels. Only the fields you pass change; moments replaces the whole list. Good labels make better videos: say what is on screen, what the best part is, and what to avoid.
delete_mediaRemove an item from the media library (videos already made from it are unaffected).
reelhouse_overviewStart here: the business, its credit balance, brand, AI twin status (more characters: list_characters), product count and the 10 most recent videos with their status.
list_videosList videos (posts). Optional status filter: drafting, draft, rendering, review, approved, scheduled, posting, posted, failed.
get_videoOne video: status, script or shot list or cut, captions, render, cost, and signed media URLs (video/poster) when made.
get_jobProgress of a background job (script writing, rendering, filming…): status queued/running/done/failed and a step + percent. Poll every 20-60 s.
make_videoMake a video from an idea: Reelhouse writes the script (free), then call render_video. format: short (9:16) | long (16:9) | feed | link | banner | thumbnail. mode: template (Quick) | studio. structure: idea | acts (Cinematic). twin_voice: narrate in an AI character's voice (the owner's twin unless character_id). character_id: which AI character (list_characters) reads it / presents (presenter: twin) / anchors; default the owner's twin. product_id: feature a catalog product. creative: {treatment: custom|tactile|cinematic|presenter|anchor|film (Anchor: the owner on camera on chosen lines, in their twin voice, motion graphics between; needs a ready twin with photos; Studio Shorts. Film: a ~45-60 s photoreal short film with characters, dialogue and a punchline whose payoff is the business, written from the request; Studio Shorts, 35 credits; the brief comes back on the video as film), model: google/veo-3.1-fast|bytedance/seedance-2.5, presenter: fictional|twin}.
list_ready_madeReady-made videos: the cheap, fast path (1 credit makes EVERY size; no script writing, no voice-over, renders straight away). Each has a short form (fields), a photo count, the sizes it comes in and a style menu (looks, colour schemes from the brand palette, music moods) so repeat runs look different. Filter by category or q. Then make_ready_made.
make_ready_madeMake a ready-made video (1 credit for all its sizes; renders at once). fields: answers by key from list_ready_made (lines fields = one item per line; dates YYYY-MM-DD; rating "5"). photo_ids: the business's own photos (list_media, or upload_media + complete_upload first). The logo, brand colours, fonts and contact come from the brand kit. style: {look, colors, music, cta} from the menu (cta = a custom ending, e.g. "Book at the link in bio"); shuffle: true picks a fresh random style (use it for recurring posts so the feed varies). Returns one video + job per size: poll get_job, then get_video for URLs, then schedule_video.
render_videoProduce the final video (spends credits). Works for any kind: a scripted video renders, an Edit-my-video cut renders, and a Film me shot list starts filming. Returns a job to poll.
edit_scriptChange a scripted video: pass a full storyboard and/or captions (get_video shows the current ones), or {instruction} to have it rewritten.
edit_my_videoEdit the owner's own footage: uploaded video asset ids → transcribed, cut (hook first, no ums/retakes), captions, angles. length: short | long. style: clean | captions | graphics. Free until render_video.
update_cutChange an Edit-my-video cut: a new plan (from get_video footage.plan), a style, or {replan: "make it 30 s, start with the price"} to re-cut (free).
film_mePlan an AI-twin shoot (free): format scenes (locations/angles) | podcast | viral (surreal, outlandish; no twin needed unless cameo). vibe: raw | creator | cinematic | clipper (viral long-form-podcast clip energy: hot take, fast banter, big captions, punch-ins). Then review/update_shot_list, make_stills (free; approve the faces and set), and render_video to film (credits).
make_stillsFilm me: make the stills before filming (free): the cast (the owner from their twin photos, the co-host), the set with everyone in fixed seats, and a start frame per shot. Every shot is then filmed from its own still, so faces and seats stay consistent. Look at them in get_video → media.stills; redo one with redo: "owner" | "cohost" | "master:<location>" | "<shot id>" and a note ("leaner face", "co-host on the right"). Then render_video films from them.
update_shot_listReplace a Film me shot list before filming (get_video → shoot.shotList, edit lines/shots, send it back).
schedule_videoApprove and schedule/post a finished video. targets: [{platform: youtube|instagram|facebook|tiktok|linkedin|x, at: ISO time (now for immediately)}].
get_brandThe brand kit: name, colors, fonts, voice, offerings, narrator, music taste, contact.
update_brandUpdate brand settings: pass the fields to change (get_brand first; the full kit is saved).
list_productsThe product catalog (name, price, selling points, photos).
import_productsImport products from the shop website (Shopify, WooCommerce, Squarespace, any site). Returns a job.
add_productAdd a product. autofill: let the AI write the description and selling points from the photos.
list_charactersAI characters on this account: the owner's twin (id "main") plus others (team members, a spokesperson, a mascot). Each has photos and a voice (cloned from a recording, or a ready-made one). Also returns the ready-made voices (id, name, gender, about) and the consent text. Use a character id as character_id in make_video / film_me.
create_characterAdd an AI character from photos (upload_media first) with a ready-made voice (voice_id from list_characters) OR a recording of them talking (recording_id: an uploaded audio/video asset, 30 s to 3 min; cloned in about a minute). Pass consent: true ONLY after the user confirms the consent text from list_characters (they have the rights, and any real person shown agreed). No photos = voice only (can read scripts, not be on camera).
update_characterChange an AI character: name, role, look notes, a different ready-made voice (voice_id), or new photos (photo_ids replace the old ones). id "main" is the owner's twin (use update_twin for name/gender/look there).
get_twinThe owner's AI twin: ready?, name, gender, photos count.
update_twinCorrect the AI twin's name or gender, or set look notes photos don't pin down ("lean build", "short beard"): every still of them uses these. The voice and photos stay as they are.