Features
Vary a scene
Take an existing generated scene and produce N near-clones that differ in exactly ONE dimension — expression, outfit, lighting, camera angle, pose, or background — while everything else stays pinned. Inspired by single-axis variation tools like Neolemon.
The six dimensions
- expression — face only (frowning, laughing, surprised…)
- outfit — clothing (“wearing a winter coat”, “wearing pajamas”)
- lighting — register (“golden hour”, “moonlight”, “candlelit”)
- angle — camera viewpoint (“low-angle hero shot”, “over-the-shoulder”)
- pose — body position (“arms crossed”, “mid-jump”)
- background — setting (“snowy forest”, “cyberpunk street”)
From the UI
- Hover any scene in the Generated Scenes grid → click the
🎭 Varyoverlay button. - Pick a dimension, type or chip-select a target, choose how many variations (1-4).
- Hit generate. Costs 1 credit per variant. New variants land in the same Generated Scenes grid after ~30s.
From the API
bash
# 4 variations of an existing scene where only expression changes
curl -X POST https://steadyshot.ai/api/scenes/{image_id}/vary \
-H "Authorization: Bearer ss_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"vary": "expression",
"target": "frowning",
"count": 4
}'
# Response
{
"source_image_id": "...",
"vary": "expression",
"target": "frowning",
"requested": 4,
"generated": 4,
"failed": 0,
"variants": [
{ "image_id": "...", "image_url": "...", "consistency_score": 89 },
{ "image_id": "...", "image_url": "...", "consistency_score": 91 },
...
]
}From Claude Desktop (MCP)
With the SteadyShot MCP connected, just ask:
text
"Take that last scene and make 4 versions with different expressions"
"Now do the same scene but at golden hour"
"Same character, same pose, but in a snowy forest"Claude figures out the right image_id from context and calls vary_scene. See MCP integration.
How identity is preserved
- The source image is pinned as the slot-0 visual anchor with a special “vary_source” role telling the model to match art style, composition, identity, lighting — everything except the named dimension.
- The source’s persisted
art_styleis re-threaded so a Pixar 3D source never comes back as watercolor. - QA scoring uses a special
checkVariationrubric that grades how well the variation held everything else constant — instead of penalizing the intentional change.
Variations only work on character-anchored scenes. Brand-only generations don’t have a character to anchor the variation against; the endpoint returns 400.