Overview

Conditions on a reference image plus a free-form camera descriptor (e.g. low angle, dutch tilt, over-the-shoulder). WM Studio's prompt-engineer composes the final prompt downstream. image_url is required — if missing or unreachable, the response returns asset_url_required with the public upload link.

Auth

oauth-jwt

Returns

{ imageUrl, generationId, creditsCharged, creditsRemaining, lowCreditsWarning? } — or asset_url_required / upgrade_required on gate failure.

Web client

src/app/[locale]/dashboard/creative-studio/tools/camera-angles/camera-angles-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_camera_angles",
  "arguments": {
    "prompt": "<prompt>",
    "camera": "<camera>",
    "image_url": "<image_url>"
  }
}

Parameters

Name Type Default Description
promptrequired string — Text description of the desired shot.
camerarequired string — Free-form camera descriptor (low angle, dutch tilt, over-the-shoulder, …).
image_urlrequired string — Public URL of the source image. Fabricated URLs are rejected by HEAD preflight.
model string "fal-ai/flux/dev" Provider/model id.
aspect_ratio string — Target aspect ratio.

Examples

Low-angle hero shot

json

Copy

{
  "name": "studio_camera_angles",
  "arguments": {
    "prompt": "product hero shot, dramatic side light",
    "camera": "low angle",
    "image_url": "https://v3b.fal.media/files/.../product.jpg"
  }
}