Overview

Takes a product image and an optional brand color palette (hex strings) and renders a luxury-grade marketing composition. product_image_url is required — if missing or unreachable, the response returns asset_url_required with the upload link.

Auth

oauth-jwt

Returns

{ imageUrl, generationId, creditsCharged, creditsRemaining, lowCreditsWarning? }

Web client

src/app/[locale]/dashboard/creative-studio/tools/moodgrid/moodgrid-nine-panel-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_brandshot",
  "arguments": {
    "prompt": "<prompt>",
    "product_image_url": "<product_image_url>"
  }
}

Parameters

Name Type Default Description
promptrequired string — Scene/composition description.
product_image_urlrequired string — Public URL of the product reference. Fabricated URLs rejected.
brand_palette string[] — Hex color strings (e.g. ["#0A0A0A", "#F5F0E6", "#C79A52"]).
model string "fal-ai/flux/dev" Provider/model id.
aspect_ratio string — Target aspect ratio.

Examples

Luxury marketing shot

json

Copy

{
  "name": "studio_brandshot",
  "arguments": {
    "prompt": "minimalist beige pedestal, soft window light, marble surface, shallow depth of field",
    "product_image_url": "https://v3b.fal.media/files/.../bottle.jpg",
    "brand_palette": ["#0A0A0A", "#F5F0E6", "#C79A52"],
    "aspect_ratio": "1:1"
  }
}