Tolstoy Studio — create product content
Tolstoy Studio turns a plain-language brief into brand-ready marketing media. The generate_studio_content tool hands the brief to Tolstoy's Studio Agent, which already owns scriptwriting, model casting, scene direction, pacing, and brand-safety. Your job is to convey the user's intent and pick the output format — not to engineer the creative.
What you can make
- PDP product video — short, product-forward video for a product detail page.
- Social / UGC video — TikTok / Reels / Shorts style, hook-first.
- Ad creative — video or image sized for paid placements.
- Product / lifestyle image — on-model or in-scene stills.
- Animate a product photo — turn a static product image into a short motion clip.
How to drive it well
Pass the brief verbatim. Relay the user's product/brand intent as written. Do NOT rewrite named brands/products into generic descriptions, and do NOT append lighting/camera/scene boilerplate — the Studio Agent adds all that. A tight, honest brief beats a long engineered prompt.
Choose
assetType:"video"for clips,"image"for stills.Choose
aspectRatioby destination:Destination aspectRatio TikTok / Reels / Shorts / mobile PDP 9:16(video default)Instagram / Facebook feed 4:5or1:1YouTube / desktop / on-site widget 16:9Square / generic 1:1(image default)If the user didn't say where it's going, use the default, mention it, and ask only if genuinely ambiguous. Reference images = public URL only. If the user gives a public HTTPS image URL of the product, pass it in
referenceImageUrls(up to 4) so the output features the real product. To animate a photo:assetType: "video"+ the photo URL inreferenceImageUrls+ a brief like "subtle motion, keep the product centered." If they paste/attach an image with no URL, describe what you see in the prompt instead — the tool does not accept uploads.Refine with
iterate_studio_content, don't regenerate. For "punchier hook", "make a 16:9 too", "warmer tone", calliterate_studio_contentwith thechatIdfrom the prior result. It keeps the full creative context; a fresh generate loses it.Report back. Generation is asynchronous — share the returned
chatIdand tell the user it's rendering in the Tolstoy canvas.
Examples
"Make a TikTok for my matcha whisk — photo: https://cdn.example/whisk.jpg" →
generate_studio_content{ assetType: "video", aspectRatio: "9:16", prompt: "TikTok-style video for my matcha whisk", referenceImageUrls: ["https://cdn.example/whisk.jpg"] }
"Animate this product shot: https://cdn.example/serum.jpg" →
generate_studio_content{ assetType: "video", aspectRatio: "9:16", prompt: "Animate this product with subtle motion, product stays centered", referenceImageUrls: ["https://cdn.example/serum.jpg"] }
"Make it 16:9 with a stronger hook" →
iterate_studio_content{ chatId, message: "16:9 version with a stronger opening hook" }
Notes
- Insufficient-credits error → tell the user to add credits in Tolstoy billing.
- This skill creates content; it does not publish to a store or ad platform.