charactersbetaimagereferenceasyncbatch
Digital Twin
studio_digital_twinCreate a digital version of yourself from a small photo set.
Overview
Trains a personalized digital twin from a curated photo package. Once trained, the twin can be reused as a character lock across `studio_generate_image`, `studio_storyboard`, and `studio_ugc_room`.
Auth
oauth-jwt
Returns
{ job_id, status, twin_id? }
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.
{
"name": "studio_digital_twin",
"arguments": {
"name": "<name>",
"photo_urls": [
"item1",
"item2"
],
"consent_acknowledged": false
}
}Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| namerequired | string | — | Display name for the twin. |
| photo_urlsrequired | string[] | — | 8–24 photos covering varied angles and lighting. |
| consent_acknowledgedrequired | boolean | — | Must be true. Caller affirms they have rights to the likeness. |
Examples
Train a twin
json
{
"name": "studio_digital_twin",
"arguments": {
"name": "Maya",
"photo_urls": [
"https://cdn.wm.studio/uploads/m1.jpg",
"https://cdn.wm.studio/uploads/m2.jpg",
"https://cdn.wm.studio/uploads/m3.jpg"
],
"consent_acknowledged": true
}
}Notes
- Training is async (5–20 min). Poll on job_id.
- Without `consent_acknowledged: true` the call is rejected with `consent_required`.