inReels
通过你的 AI agent 生成视频广告、UGC 广告、图片、配音和无露脸视频。支持 OAuth 的远程 MCP。
文档
Turn your agent into an ad studio
Connect inReels to Claude, Cursor, Codex, Muse or ChatGPT and generate ad creatives, UGC ads and faceless videos from chat — rendered, with audio, as files you can run.
https://www.inreels.ai/api/mcp
17 tools·28 image, video and speech models·OAuth or API key
One URL. Nothing to install.
-
Add the server
Streamable HTTP, straight from the terminal.claude mcp add --transport http --scope user inreels https://www.inreels.ai/api/mcp - 2
Sign in
Run /mcp, pick inreels, and complete the browser sign-in. - 3
Ask
"Make me a 15-second UGC ad for this product." The tools describe themselves, so Claude picks the model, writes the prompt and hands you the file.
What the agent gets
Capabilities — a finished deliverable
These choose the model, apply our craft rules and return a file. Creative controls only.
create_ad_video sensitive writespends credits
A finished ad from a product image, with native audio. Add a creator (actor_id or image) and it becomes a UGC ad; leave it out for a product-led one. Supply a script and it sets the length — write to the budget: up to 10 words for 5s, 20 for 10s, 30 for 15s. Over budget and the line gets clipped, so cut words rather than hoping. Omit the script and pass a brief instead, and the model writes its own line to fit. Ask for up to 3 variations to test angles. The model is chosen for you; use generate_video to pick one yourself. Needs a paid plan. Docs: https://www.inreels.ai/connect
create_faceless_video sensitive writespends credits
Render a complete faceless video — script to scenes to narration to captions to a finished MP4 — and return a run id. Generation then rendering takes roughly 5-10 minutes in total; poll get_run_status until it reports completed, and only then is output_url an MP4. Credits are charged by the pipeline on completion, not at submit.
Primitives — one asset, your choice of model
Full parameter surface across 28 image, video and speech models.
generate_image sensitive writespends credits
Render an image and return a run id. Poll get_run_status for the URL. Call quote first if the budget matters.
generate_video sensitive writespends credits
Render a clip and return a run id. Text-to-video, or image-to-video by passing image_url. Several models produce native audio — set generate_audio and check list_models for which support it. Takes minutes; poll get_run_status.
generate_speech sensitive writespends credits
Speak a line in a named voice and return a run id. Poll get_run_status for the audio URL.
Discovery, pricing and runs
get_account readfree, read only
Confirm the connection works and read the credit balance. Call this first if anything is failing.
list_models readfree, read only
Every image, video and speech model, with what each accepts and its price. Read this before naming a model — an id that is not listed is rejected.
list_voices readfree, read only
Named voices available to generate_speech.
quote readfree, read only
Price a generate_image, generate_video or generate_speech call without spending anything. The number returned is exactly what the matching call will charge.
get_run_status readfree, read only
Check a submitted run. Pass wait:true to block up to 45 seconds, which usually returns a finished image in one call. Always poll before giving a user an output URL. Video runs keep going after the scenes are made — rendering the MP4 takes a few more minutes, so keep polling until status is completed and tell the user it is rendering rather than handing over the watch_url as the finished thing.
list_runs readfree, read only
The most recent runs on this account, newest first.
list_styles readfree, read only
The valid values for create_faceless_video. Read this before submitting — an unlisted style or music id is rejected, not substituted.
list_actors readfree, read only
The curated faces available for create_ad_video, with filters. Pick deliberately — the actor is most of what makes a UGC ad read as real. To use a face of your own instead, call upload_image and pass its URL.
upload_image writefree
Bring your own product shot or creator photo in, by URL or base64, and get back an inReels URL the generation tools accept. Free. PNG, JPEG or WebP, up to 10MB. Docs: https://www.inreels.ai/connect
refresh_asset_url readfree, read only
Output and upload URLs are signed and expire after 24 hours. Pass the s3_key to get a fresh link for the same file.
quote_ad_video readfree, read only
Price an ad without making it. Returns the model chosen, the duration the script implies, and the total for all variations.
quote_faceless_video readfree, read only
Estimate a full faceless video without submitting it. A short topic gets expanded into a script at submit, so for short inputs this is a floor rather than an exact figure.
How it behaves
- Every generating tool returns a run id immediately. Nothing blocks.
- Quote first — the price you are shown is the price you are charged.
- Failed runs are refunded in full, so a failure never costs credits.
- An unlisted model is rejected, never quietly substituted.
- Video keeps going after the scenes are made: the MP4 is rendered next, and the run only reports completed once the file exists.
- Every option we expose is validated against the provider's live schema before it ships, so an agent cannot be handed a combination that fails.
- No rate limits beyond the account's credit balance. Any number of runs may be in flight;
get_run_statuswithwaitblocks up to 45 seconds.
Tool classification
Each tool above is tagged read, write or sensitive write.
- read — retrieves information. Changes nothing, spends nothing.
- write — creates or changes data. Spends nothing.
- sensitive write — spends the user's credits. Irreversible, so a host should ask the user each time rather than taking blanket permission.
Errors
400 invalid_request rejected before any charge; the message names the fix
401 unauthorized WWW-Authenticate points at the OAuth metadata
402 insufficient_credits includes required and available
403 subscription the capability needs a paid plan
404 not_found unknown tool, or a run on another account
405 method_not_allowed a spending tool was called with GET
500 internal_error failed on our side; nothing was charged