Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
INSTANTCLIPS_TOKENYesYour InstantClips API token. Mint one at https://app.instantclips.ai/settings#ai-access. Required for both the hosted endpoint and the stdio adapter.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_brandsA

List the brands on this account, with the plan's brand limit and whether another brand can be created.

A brand carries the identity every video is drafted against: its voice, its target market and its keywords. A product must belong to the brand it actually comes from — a product drafted under another company's voice is wrong even though it renders fine.

Call this before answering a brand_decision_required from get_product, and whenever the user needs to choose or name a brand.

This does not spend credits.

import_product_from_urlA

Start a new InstantClips product from a product page URL (a storefront listing, e.g. a Shopify product page).

Returns immediately with a product_id — the scrape, the image download and the first video-direction draft all run in the background. Poll get_product until import_status is "imported" and video_direction.drafting is false, which usually takes under a minute.

Pasting a URL that was already imported on this account returns that existing product instead of creating a duplicate.

If the storefront name does not exactly match a brand this account has already reviewed, the import stops on a brand decision instead of guessing: get_product will report brand_decision_required, and no video direction is drafted until it is resolved with create_brand or set_product_brand. Do not assume the account's existing brand — a product from a different company drafted under the wrong brand's voice is the failure this prevents. Pass brand_id only when the user has told you which brand this product belongs to.

This does not spend credits. Only generate_video does.

create_product_from_imagesA

Start a new InstantClips product from hosted product photos, for a product that has no public page to scrape.

Images must be publicly reachable URLs — this endpoint cannot read files from the caller's machine. Images larger than 8MB are skipped; at most 9 are used in a render.

Returns immediately with a product_id; the downloads and the first video-direction draft run in the background. Poll get_product until import_status is "imported".

Prefer import_product_from_url when a product page exists — the scrape also collects the name, description, price and brand identity, which make for a far better direction draft than images alone.

This does not spend credits. Only generate_video does.

get_productA

Read a product: what the import found, the current video direction and settings, and every video generated from it.

Use this to poll after import_product_from_url or create_product_from_images. The product is ready to work with when import_status is "imported" AND video_direction.drafting is false. Poll every 20-30 seconds; the whole thing normally settles inside a minute.

import_status values: "pending" and "importing" mean keep polling; "imported" means done; "failed" means it did not work and import_failed_reason says why.

video_direction.credit_cost is what generate_video will charge for the current settings.

create_brandA

Create a new brand from the identity detected on a product that is waiting on brand_decision_required, and attach the product to it.

Use this when the product belongs to a company the account has no brand for yet — the usual case when someone brings a new store. The brand's voice, target market and keywords are taken from what the storefront scrape drafted; the user can rename it with name.

Ask the user before calling this. It consumes one of the plan's brand slots, and on a plan that has run out this fails with a brand-limit error — at which point the choices are to attach the product to an existing brand with set_product_brand, to re-point an existing brand at this identity with set_product_brand and replace_identity: true, or to upgrade.

Once this returns, the video direction starts drafting: poll get_product until video_direction.drafting is false.

This does not spend credits.

set_product_brandA

Attach a product waiting on brand_decision_required to one of the account's existing brands. Use list_brands to see them.

Only do this when the user has confirmed the product really belongs to that brand. Attaching a product to an unrelated brand is not a cosmetic mislabel: every video is drafted in that brand's voice, to its target market, with its keywords.

By default the brand's existing identity is left untouched. Pass replace_identity: true to instead overwrite that brand's voice, target market and keywords with the identity detected on this product — the "re-point my brand at a different company" move, for an account at its brand limit. This rewrites a brand every other product on it shares, so confirm it with the user explicitly first.

Once this returns, the video direction starts drafting: poll get_product until video_direction.drafting is false.

This does not spend credits.

update_video_directionA

Edit the creative direction and render settings for a product's next video. Only the fields you pass are changed; everything else keeps its current value.

creative_direction is the plan the render is built from. It is free text, but the drafts follow a six-section shape that works well and is worth preserving when editing:

Hook: ... Content Focus: ... Format: ... Execution Guidelines: ... Strict Guidelines & Restrictions: ...

Do not invent a direction from nothing when one has not been drafted yet — call redraft_video_direction and edit what comes back. Leaving it empty is also valid: generation works without a direction.

creator_note is different and smaller: the user's own short note to the director ("mention it is machine washable", "for Father's Day"). It is carried through to the render verbatim, so put the user's words in it, not your paraphrase.

Only works before generation starts. This does not spend credits.

redraft_video_directionA

Ask InstantClips to draft a fresh creative direction for this product's next video, using the product's facts, its images and the brand's identity. Use it to get a first draft, or to try a different angle when the user does not like the current one.

This OVERWRITES the current direction — including any edits. Confirm with the user before re-rolling a direction they have already worked on.

The draft runs in the background: this returns with drafting true, and you poll get_product until video_direction.drafting is false (a few seconds). Rolling a fresh angle is the point, so calling it twice gives two different drafts, not the same one.

This does not spend credits.

generate_videoA

Render the video. THIS SPENDS THE USER'S CREDITS.

Ask the user before calling this, every time. Tell them the cost first — get_product reports it as video_direction.credit_cost, and the user's balance as credits_remaining. Credits are charged at launch, not on completion; a failed render is refunded automatically.

Show the user the creative direction and let them approve or edit it before you call this. Do not call it to "see what happens", to retry a render that is still in progress, or as part of a batch you decided on your own.

Returns as soon as the render is queued. Poll get_video with the returned video_request_id every 20-30 seconds until its status is "done" (a few minutes), then give the user output_url and share_url.

If the account cannot afford it, nothing is charged and the response says so — tell the user to top up at the credits page rather than retrying.

get_videoA

Check one video's render.

status values: "generating" — still rendering, keep polling every 20-30 seconds. "done" — finished; output_url is the MP4 and share_url is a public page to send someone. "failed" — failed_reason says why. The credits were refunded automatically; the user can retry from the product page. "insufficient_credit" — never launched; nothing was charged. "pending" — not launched yet; call generate_video.

A render normally takes a few minutes. Tell the user what you are waiting on rather than polling silently in a tight loop.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/InstantStudioAI/instantclips-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server