Overview
Generates a UGC-style room scene with a product placed naturally inside it. product_image_url is required — fabricated URLs are rejected by HEAD preflight. room_style is a free-form descriptor that WM Studio's UGC compose-prompt route refines downstream.
Auth
oauth-jwt
Returns
{ imageUrl, generationId, creditsCharged, creditsRemaining, lowCreditsWarning? }
Web client
src/app/[locale]/dashboard/creative-studio/tools/ugc-room/ugc-room-client.tsx
MCP handler
mcp-director/src/tools/studio.py
Quick start
Invoke the tool over Streamable HTTP at {MCP_BASE_URL}/mcp/. The request below assumes you already minted an MCP JWT via the OAuth flow.
MCPcurlTypeScript
Copy
{
"name": "studio_ugc_room",
"arguments": {
"prompt": "<prompt>",
"product_image_url": "<product_image_url>"
}
}
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| promptrequired | string | — | Scene description. |
| product_image_urlrequired | string | — | Public URL of the product. Fabricated URLs rejected. |
| room_style | string | — | Free-form room descriptor (e.g. minimalist bedroom, cluttered college dorm). |
| model | string | "fal-ai/flux/dev" | Provider/model id. |
| aspect_ratio | string | — | Target aspect ratio. |
Examples
Headphones on a desk
json
Copy
{
"name": "studio_ugc_room",
"arguments": {
"prompt": "morning coffee, focused work vibes, soft city light through blinds",
"product_image_url": "https://v3b.fal.media/files/.../headphones.png",
"room_style": "minimalist home office"
}
}