Overview
Renders a portrait using a Digital Twin LoRA that's already been trained on the user's likeness via the wmstudio dashboard. The MCP tool only handles inference — training is a separate dashboard-only flow. Pass digital_twin_profile_id to target a specific profile; otherwise the user's active default is used.
Auth
oauth-jwt
Returns
{ imageUrl, generationId, creditsCharged, creditsRemaining, lowCreditsWarning? }
Web client
src/app/[locale]/dashboard/creative-studio/digital-twin/page.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
{
"name": "studio_digital_twin",
"arguments": {
"prompt": "<prompt>"
}
}
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| promptrequired | string | — | Portrait description (scene, lighting, wardrobe). |
| digital_twin_profile_id | string | — | Target a specific trained profile; defaults to the user's active twin. |
| enhancement_preset | string | — | Optional realism refinement preset. |
| model | string | "fal-ai/flux/dev" | Base provider/model id. |
| aspect_ratio | string | — | Target aspect ratio. |
Examples
Twin portrait
{
"name": "studio_digital_twin",
"arguments": {
"prompt": "three-quarter portrait, golden hour rooftop, soft rim light",
"enhancement_preset": "realism_v2"
}
}
Notes
- Twin training itself happens in the wmstudio dashboard — not exposed as an MCP tool.
- If no twin is trained yet, wmstudio returns a 4xx with a clear error message.