commerce_describe, tool schemas and commerce://guide;
reading this page is optional.
Choose an app
Callcommerce_describe without arguments to discover your authorized apps. Then
call it with an app_key to read the current fields, required inputs, allowed choices,
person photos and output pack. Availability does not guarantee a generation will succeed.
Use optional output_ids from commerce_describe to select deliverables; omission prepares the full pack. Prerequisite generation is automatic and included in the estimate. Ask only the missing inputs returned by preparation, together. Reuse retained_inputs when supplying answers. Images-only skips downstream video work; video-only includes required images. Selection happens before generation, not just when displaying results. Internal AI models remain fixed.
The full packs above are available choices, not a requirement to generate every output. Read commerce_describe for current output IDs, availability, allowed choices and person photos. Input requirements depend on the selected outputs; preparation returns the actual missing questions. A selected producer retains its authored number of files.
Product inputs contain productName and an images array; omit unknown optional product facts. For person_reference, send either
{source: "preset", preset_id: "ID from commerce_describe"} or {source: "upload", asset_url: "HTTPS image URL"}. Upload local files first. Do not copy example or saved sample photos into missing inputs.
Fashion Catalogue
Create a styled fashion shoot from front, back and side photos of the same garment. Choose a preset person or custom person photo, garment framing, location and day/night lighting. Full output pack: Cropped Image (image); Front (image); Back (image); Side (image); Full Body (image); Catalog video (video). Returns a prepared plan before generation; no Shopify connection to Lamina is required.Catalogue Photos and Video
Upgrade apparel listing media from a product name and photos. Choose a preset person or custom person photo; body description and location are optional. Full output pack: Front view (image); Side View (image); Close-up (image); Video (video). Returns a prepared plan before generation; no Shopify connection to Lamina is required.Product Ad Banners
Create campaign banners and animated variants using product photos, your logo, brand styling, headline, CTA and audience. Subheading and offer are optional. Choose this for banner creatives; choose a film app for a story ad. Full output pack: Ad 1 (image, 9:16); Ad 2 (image, 9:16); Ad 3 (image, 9:16); Video Ad 1 (video, 5 seconds); Video Ad 2 (video, 5 seconds); Video Ad 3 (video, 5 seconds). Returns a prepared plan before generation; no Shopify connection to Lamina is required.Virtual Try-On
Show an actual customer wearing apparel using their photo and product name/images. Use the customer photo; there is no preset-person choice. Full output pack: Selfie Output (image, 9:16); Full body Output (image, 9:16); Video (video). Returns a prepared plan before generation; no Shopify connection to Lamina is required.Apparel Ad Video
Create a clothing campaign film with music, logo and timed text overlays. Supply clothing product name/images, brand logo, target geography and audience. Full output pack: Ad video (video, 20 seconds). Returns a prepared plan before generation; no Shopify connection to Lamina is required.Listing Images & URL to Product Ad
Create a product ad from a listing URL and ordered listing photos. The authored app requests four scenes, feature text and music, without voiceover. No logo is required. The URL is passed as text; webpage retrieval and product-fact accuracy are not verified. Full output pack: Ad Video (video, 10 seconds, 9:16). Returns a prepared plan before generation; no Shopify connection to Lamina is required.
Note: The authored app receives the listing URL as text; it does not have verified webpage retrieval. Review generated feature claims against the real product.
Note: The authored video prompt mentions nine references. With fewer than eight listing photos, visual fidelity needs review; no sample photos are substituted.
If the user asks for an “ad” without a format, ask whether they want banners with
short animations or a campaign film. Otherwise choose from the stated purpose.
The table lists each app’s full pack. With Brand MCP contract 1.3.0 or later, select
existing deliverables using
output_ids from commerce_describe.outputs[].id.
Omitting output_ids keeps the full pack. This selection applies only to Brand MCP;
other Lamina MCPs and general app APIs keep their existing behavior.
Select images, video or specific outputs
For “images only,” take the IDs whosetype is image. For “video only,” take the
requested video IDs. Pass those IDs to the app’s preparation tool alongside its inputs:
selection_summary, selected outputs, and only the missing inputs relevant to that
selection. required_for_output_ids describes each field’s applicability; the existing
required_for_run flag describes its base app requirement. Use preparation’s actual
questions, returned together, rather than asking every base field again. Reuse
retained_inputs, including output_ids, when supplying the missing answers.
IDs select existing output producers, not arbitrary file counts or extra variations.
A video-only app may have no selectable image deliverables even when it generates
images internally. Empty, unknown or foreign-app IDs are rejected; never retry an
invalid selection by omitting it and generating the full pack. A changed selection
requires a new prepared plan and review. Final results show the selected deliverables;
prerequisite work remains in execution records. preview_output_ids only selects
thumbnails for an existing result and does not control generation.
Use the live description for exact field names and supported choices. Submit known
inputs to preparation even when incomplete; needs_input groups the remaining
questions. Reuse supplied facts and ask only for missing required inputs. Never
invent a product, logo, person, discount or price.
Product data and person photos
Product inputs requireproductName and one to ten image URLs. Other product facts
are optional; a Shopify token, product ID and store domain are not required.
heroImage is supplied.
Catalogue apps accept either a preset person or a custom person photo:
commerce_describe returns all named person photos. MCP Apps hosts can show the full
gallery; native image previews are limited to four per call. Pass app_key and
preview_preset_ids to preview others. Use returned IDs, not guessed names. If the user
delegates selection, choose a supported option and show the exact reference in the review.
“Model selection” here means the photographed person. Internal AI models, prompts,
providers, graph structure and generation settings are fixed, except for the inputs
explicitly exposed by the app. Try-On uses selfie_image_url for the actual customer.
Upload multiple files
For each local file, callcommerce_upload_asset with its name, MIME type, actual
byte size and public_upload_accepted: true. For example:
uploadUrl, using contentTypeHint as the Content-Type header. Only
after the upload succeeds, pass assetUrl in the appropriate input field. Repeat
for back/side images, logo and person reference; product images go in product.images.
Uploads support PNG, JPEG and WebP, up to 20 MiB each, with additional decoded-image
validation. They are public assets in shared configured storage. Private uploads
are not supported, and operators may disable uploading. Existing accessible URLs
on approved asset hosts can be used instead. The agent host needs file-reading and
HTTP-upload capability: MCP cannot read chat attachments by itself.
Prepare, review, generate and retrieve
- Read
commerce_creditsand describe the chosen app. - Call its preparation tool with actual inputs and optional
output_ids. Resolve the groupedneeds_inputquestions, retaining previously supplied inputs and selection. - When preparation returns
awaiting_approval, show its review, included outputs, estimated credits, plan ID and settings. Obtain user authorization to generate. - Call
commerce_executewith the exact returnedplanId,planFingerprint, a positive integermaxCreditscovering the estimate, and a uniqueidempotencyKey. - Poll
commerce_statuswith the returnedrunIdat bounded intervals until terminal. - Present the returned media using the gallery/player or your host’s native preview. Keep the named original-file links and inspect the media before judging quality.
commerce_describe({"app_key":"virtual_try_on"}),
then prepare using the product object above plus selfie_image_url. Preparation does
not start generation. Do not pass new inputs to execution; changed inputs require a
new prepared plan and review.
After an uncertain execution response, retry with the same key and unchanged
arguments, or check the known run. Do not start another paid run blindly.
commerce_cancel requests cancellation; submitted work may still incur credits.
maxCredits checks the estimate, not a guaranteed provider-spend ceiling. Exact
per-run settled credits can be unavailable (spent: null); do not treat a workspace
balance change as the cost of one run. Output verification checks provenance and
media structure, not creative quality. Do not substitute old canvas outputs for
missing MCP results.
Brand MCP does not publish to Shopify. An agent can publish returned media through
its own Shopify connector when the user authorizes it.
Show photos and generated results
Brand MCP supplies three views: all person references, the exact selected/custom reference in the review, and the run’s actual output images/videos. The read-only viewer never generates media. Selecting a preset sends your agent a request to prepare the inputs for review. Video has playback controls and does not autoplay.
The host decides what it can render. Advertising the UI resource does not prove a
particular chat displayed it. Reload the MCP connection’s tool/resource discovery
after an update; the endpoint, tool names and existing OAuth grants are unchanged.
Claude, Codex and other agent clients
Brand MCP is a remote HTTP MCP service, not a Codex-only integration. Each client must complete Lamina OAuth for the intended workspace and retain the same access checks. Connect Claude Code with:/mcp in Claude Code to authorize. For Claude app/Desktop, add the same URL
as a custom remote connector and complete authorization.
- Claude app/Desktop: supports interactive MCP Apps. The Brand gallery uses the standard bridge rather than requiring OpenAI-specific APIs. Connector enablement, organization policy and the host’s sandbox still determine rendering. See Claude’s interactive connector guide.
- Claude Code/CLI: can call the same tools and consume native image results. An image reaching the model is not proof the terminal displays it to a human. Use the returned image files/links and a supported browser preview for video; do not promise an embedded terminal gallery. See Claude Code MCP setup and image results.
- Codex and other agents: use the capabilities actually available in that host: MCP Apps, native media previews, or named original links. Do not branch solely on the agent’s name or infer UI support from a successful tool call.
- Preserve
contentblocks of typeimageandresource_link. Printing onlystructuredContentor JSON drops the human-visible previews. Forward media with your host’s actual supported display API, not an invented helper. - Use
presentation.itemsfor labels, stable IDs and original URLs. A fifth image is still present when only four thumbnails are embedded. Callcommerce_statuswithrunIdand up to fourpreview_output_idsfrom that run to preview remaining images. inlinePreviewdistinguishesincluded,unavailable,not_requestedandnot_applicable. It describes the response, not whether the host displayed it.- Say “shown” only after producing a visible preview. Do not rely solely on remote image tables or download media to get around a host’s display restrictions.
- Refresh the same run to retrieve outputs; never regenerate just to fix display. A failed or cancelled run can contain usable partial media and must retain its status.
How agents receive instructions
- MCP initialization supplies server instructions.
tools/listsupplies tool descriptions and JSON input schemas. Full access currently exposes 12 tools; grants and app readiness can reduce the list.- Read the
commerce://guideMCP resource for the same runtime guide. commerce_describesupplies current app-specific fields, choices and previews.
@uselamina/skill package adds written
guidance, but installing it does not configure MCP or authorize a workspace. Use the
live resource and schemas even when an installed skill is older.
Install the optional guidance into a project with:
npx @uselamina/skill@latest --update.
Presentation guidance is included from version 0.1.14. Update older installations explicitly. Native skill clients receive the
bundled Brand MCP reference; rule-only clients can read commerce://guide through MCP.
This is separate from the connection setup in the Brand MCP quickstart.
Troubleshooting
OAuth resource discovery is available at
https://app.uselamina.ai/.well-known/oauth-protected-resource/mcp/commerce.
Read and write scopes are lamina:creative:read and lamina:creative:write.
See MCP OAuth Install for the shared authorization flow.
Current tested limits
The 15 October 2026 live sample returned full MCP output packs for apps 1–5. Visual caveats included animated logo distortion, oversized film logos and cropped full-body framing. The previous app 6 failed at its final caption overlay after caption text was truncated. It has now been replaced by the listing-video app above. The replacement has passed contract and preparation checks; a fresh paid generation is not yet verified. These sampled results are not a guarantee across all inputs. Check final status and review outputs before publishing.Additional connection options
Client configuration
For clients usingmcpServers configuration: