What a session looks like
Ask in English.
The agent calls the studio.
Tools mirror the REST routes one for one, so what the agent does is exactly what the studio would do — including the quote before the spend and the consent gate on cloning.
Claude Desktop · motionbarconnected
Make a 30-second 1080p talking head of Mara reading the launch line, vertical.
▶ quote_credits(feature: "talk", durationSec: 30, resolution: "1080p")
← { credits: 48 }
← { credits: 48 }
That will be 48 credits (balance 1,152). Want me to shoot it?
The tools
95 tools · each maps to a REST routeAccount
GET /api/health
GET /api/me
PATCH /api/profile
POST /api/onboarding
GET /api/labels
GET /api/floor
Credits
GET /api/credits/quote
Twin
POST /api/clone
GET /api/people/:id
DELETE /api/people/:id
GET /api/cast
POST /api/characters
POST /api/locations
GET /api/locations/:id
Talk
POST /api/talk
GET /api/talk/:id
POST /api/briefs/social
Brand
POST /api/briefs/brand/write
POST /api/briefs/brand
Viral
GET /api/viral/templates
POST /api/briefs/viral/write
POST /api/viral
POST /api/ugc
Listing
POST /api/scene
GET /api/scene/:id
Fashion
POST /api/outfits
GET /api/outfits/:id
POST /api/fashion
GET /api/fashion/:id
Marketing
GET /api/marketing/templates
GET /api/marketing/quote
POST /api/marketing/write
GET /api/products
POST /api/marketing
GET /api/marketing/:id
Billboard
GET /api/marketing-ads/presets
GET /api/marketing-ads/quote
POST /api/marketing-ads
Cinema
GET /api/cinema/quote
GET /api/cinema/looks
PATCH /api/cinema/looks
POST /api/cinema
Series
POST /api/briefs/series
POST /api/shows
POST /api/shows/breakdown
GET /api/shows/:id
POST /api/shows/:id/sets
GET /api/episodes/:id
PATCH /api/episodes/:id
GET /api/episodes/:id/estimate
POST /api/episodes/:id/shoot
POST /api/episodes/:id/stitch
PATCH /api/episode-scenes/:id
Recast
POST /api/recast
GET /api/recast/:id
POST /api/recast/:id/retry
Motions
POST /api/motions
GET /api/motions/:id
POST /api/motions/:id/retry
Effects
GET /api/effects/presets
POST /api/effects
GET /api/effects/:id
POST /api/effects/:id/retry
Influencer
POST /api/influencer
GET /api/influencer/:id
POST /api/influencer/:id/retry
Freehand
POST /api/freehand/write
POST /api/freehand
GET /api/freehand/:id
POST /api/freehand/:id/retry
Sound
GET /api/sound/quote
POST /api/sound/compose
POST /api/sound
GET /api/sound/:id
Try On
GET /api/tryon/bootstrap
GET /api/tryon/quote
POST /api/tryon
Backlot
GET /api/backlot/bootstrap
POST /api/backlot/quote
POST /api/backlot
Cameo
GET /api/cameo/scenes
POST /api/cameo
Advisor
GET /api/advisor/roles
POST /api/advisor
Product
GET /api/product-shots
POST /api/product-take
Glam
GET /api/glam-presets
POST /api/glam-take
Jobs
GET /api/jobs/:id
Library
GET /api/library
DELETE /api/library/:kind/:id
Files
GET /api/assets
POST /api/assets
DELETE /api/assets/:id
GET /api/media
Sandbox server
Let the agent
practise for free.
Connect sandbox-mcp.motionbar.ai instead and every tool returns realistic dummy data — jobs queue, run and succeed with sample media, quotes return real numbers, and the balance never moves. Swap the host when the workflow is right.
Auth is OAuthSign in once in the browser; the client stores a scoped token. No API key in a config file. Revoke from developer.motionbar.ai.
Quotes before spendsEvery shoot tool is documented as "call quote_* first"; agents that skip it still get the price back in the 202.
Consent is a tool errorclone_twin without a consentClipId returns an error the agent has to relay. There is no flag to skip it.
Same balance, same ledgerMCP and REST share your Floor-plan credits and appear in the same usage view.
One click,
then just ask.
MCP ships with the Floor plan. Connect from developer.motionbar.ai/mcp.