← AISTLabsCONTENT HISTORY

Update to AISTLabs

Snapshot Nov 14, 2026 · 18:11 UTC · version 1.1.0

Collection source: downloaded plugin package.

WHAT CHANGED

Instructions updated for aistlabs-video

Full description — Now says: direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save AISTLabs and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Full description

Before

Nov 14, 2026 · 12:10 UTC

brands and authorized product photos in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding product images, confirmed video generation, progress or existing results. Do not use for text-only ad script...

After

Nov 14, 2026 · 18:11 UTC

direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding images or videos, co...

Skill instructions

Before

Nov 14, 2026 · 12:10 UTC

brands and authorized product photos in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding product images, confirmed video generation, progress or existing results. Do not use for text-only ad script...

After

Nov 14, 2026 · 18:11 UTC

direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding images or videos, co...

Supporting files

Before

Nov 14, 2026 · 12:10 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":247}]

After

Nov 14, 2026 · 18:11 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":298}]

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -1,9 +1,9 @@
 ---
 name: aistlabs-video
-description: Create and manage product videos, brands and authorized product photos in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding product images, confirmed video generation, progress or existing results. Do not use for text-only ad scripts, editing uploaded videos or general marketing advice.
+description: Create and manage product videos, direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding images or videos, confirmed generation, progress or existing results. Do not use for text-only ad scripts, simple trimming or subtitling of uploaded videos, or general marketing advice.
 ---
 
-# AISTLabs product video workflow
+# AISTLabs creative workflow
 
 Use the connected AISTLabs MCP server only for work the user requests in their
 AISTLabs workspace. Explicit user instructions take precedence over this
@@ -13,78 +13,79 @@
 ## When to use AISTLabs
 
 - The user wants to inspect or manage their connected AISTLabs brands, products,
-  authorized images, saved briefs or existing videos.
-- The user explicitly asks to create a brand or product or save an image in
-  AISTLabs. This is a valid standalone action; generating a video is optional.
-- The user wants to plan, estimate, confirm, track or view a product video in
-  their connected account.
-
-Do not invoke AISTLabs for a request to write an ad script as text only, trim or
-subtitle an uploaded MP4, or provide general marketing advice. Answer those
-requests directly. Do not inspect account data merely because an unrelated
-request mentions a product, brand, ad, TikTok or Instagram. AISTLabs does not
-edit existing uploaded videos. Do not substitute a new generation for editing.
+  projects, folders, Elements, authorized images, saved briefs or existing results.
+- The user explicitly asks to create a brand, product, project or folder or to save
+  an image in AISTLabs. This is a valid standalone action; generating is optional.
+- The user wants to plan, estimate, confirm, track or view a product video, a direct
+  Studio image, video or audio, a Virality swap, Ad Multiplier variants or a
+  Performance Ads take in their connected account.
+
+Do not invoke AISTLabs for a request to write an ad script as text only, simply trim
+or subtitle an uploaded MP4, or provide general marketing advice. Answer those
+requests directly. Do not inspect account data merely because an unrelated request
+mentions a product, brand, ad, TikTok or Instagram. Studio edit mode is a separately
+quoted generative edit, not a file editor; do not substitute it for trimming.
 
 ## Read the account without starting work
 
-For account discovery or resuming AISTLabs work, read `get_me`,
-`get_last_activity` and relevant `get_docs` topics. Use only returned, authorized
-brand, product, media and content identifiers. Do not silently choose between
-multiple accessible brands or infer entitlements from a connection budget.
+For discovery or resuming work, read `get_me`, `get_last_activity` and the relevant
+`get_docs` topic: `workflow` (brand video), `studio`, `projects`, `virality`,
+`multiplier`, `performance`, `errors`, `safety`. Use only returned, authorized
+identifiers. Do not silently choose between multiple accessible brands or projects.
 
 ## Explicit brand and image setup
 
 When the user supplies a brand name and explicitly requests a new brand,
-`create_brand` is the creation step. Do not merely list existing brands and wait
-for another authorization that the user already gave. If they request no
-website or scan, omit website, Instagram and extra sources; do not call
-`add_brand_sources` or initiate a Brand Brain scan.
-
-Create the requested product with `create_product`, retain the returned
-`brandId` and `productId`, and use stable idempotency keys for each write that
-accepts one. Attach the real user-authorized chat image using `attach_file` with
-`role="product_image"` and that `productId`. Verify saved media and readiness
-with `list_product_media`; `view_media` can show the safety-checked image.
-
-If the chat surface cannot provide a transferable file, say so and offer the
-one-time `create_upload` page. Wait for `get_upload` and verify saved media
-before claiming the photo was saved. Never invent file IDs, download URLs,
-product photos or a completed upload. Do not start a scan, suggest styles or
-generate a video when the user asked only to save a brand, product and image.
-
-## Plan and generate only after confirmation
-
-Read `get_create_options`, use a ready authorized product image and preserve
-the user's brief. Call `quote_content` with the exact proposed generation
-arguments. Explain the returned estimated account-credit usage and wait for
-explicit approval. Before rendering, obtain the user's confirmation that they
-own or are authorized to use the assets and likenesses; pass
-`rightsConfirmed=true` only after that confirmation.
-
-Submit one `create_content` request with a stable idempotency key. Reuse its
-returned `contentId`; an accepted request is not a completed video. If account
-access or usable credits are insufficient, state the restriction and stop.
-Do not direct the user to transactions, offers or account upgrades from this
-integration, and never bypass the server's limits.
+`create_brand` is the creation step. If they request no website or scan, omit
+website, Instagram and extra sources; do not call `add_brand_sources`.
+Create the requested product with `create_product` and attach the real
+user-authorized chat image using `attach_file` with `role="product_image"` and that
+`productId`. Verify saved media with `list_product_media`; `view_media` shows the
+safety-checked image. If no transferable file exists, offer `create_upload` and wait
+for `get_upload`. Never invent file IDs, uploads or results.
+
+## Quote, confirm rights, then generate
+
+Every paid step has an exact price: `quote_content`, `quote_studio_generation`,
+`quote_virality_swap`, the `prices` of a pack or job, or a `price_changed` refusal.
+State the account credits and wait for explicit approval. Before generating,
+uploading or importing media, obtain the user's confirmation that they own or may
+use every asset, brand, face, body and voice; pass `rightsConfirmed=true` only after
+that confirmation. Virality and Ad Multiplier change real people's likeness: use them
+only with the user's own media or each depicted person's permission, and never to
+impersonate, deceive about or sexualize anyone. Use a stable idempotency key for
+each write and reuse it on retries. If access or credits are insufficient, state
+the restriction and stop; do not direct the user to transactions or upgrades.
+
+## Direct Studio
+
+Read `list_studio_models`, pick a project and model with the user, save references
+with `create_studio_upload`/`get_studio_upload`, `import_studio_url` or
+`import_studio_asset`, quote the exact request and start it with
+`start_studio_generation` (`expectedCredits`, `userConfirmed=true`,
+`rightsConfirmed=true`). Poll `get_studio_generation` and call
+`show_studio_generation` once for its card.
+
+## Virality, Ad Multiplier and Performance Ads
+
+For a Virality swap ask for the mode (motion or swap), quote with
+`quote_virality_swap`, then `start_virality_swap` with the images, the user's words
+and `rightsConfirmed=true`; poll `get_virality_job` and show the ready variant with
+`show_studio_generation`. Ad Multiplier and the step-by-step Virality flow analyse
+the video first (paid), save the approved plan, generate references where needed and
+then render. Performance Ads analyse one proven competitor ad as a structural
+reference only and render takes for the user's own products.
 
 ## Show actual progress and results
 
-Call `show_video` for the accepted `contentId` to present its native progress
-card when supported. Use `get_content` and bounded `wait_content` calls at the
-returned interval to track the same video. Share actual stages, the returned
-estimate and saved script when available. Estimates are not guarantees. Do not submit a second
+Call `show_video` once for a brand video and `show_studio_generation` once for a
+Studio, Virality or Ad Multiplier result; polls draw no new cards. Share actual
+stages and saved scripts; estimates are not guarantees. Do not submit a second
 generation while waiting or invent completion, progress, media or a result URL.
+Listings omit raw media links: use `view_media` for safety-checked images and the
+cards or `humanUrl`/`resultUrl` otherwise. If the surface does not render a widget,
+present the actual returned status in text. A missing widget does not mean the work
+finished. Never call a failed or in-progress run a success.
 
-Keep one card for that content: a live progress card updates into the completed
-video in place. Do not call `show_video` on each poll or add a second completed
-card when the first one refreshed successfully. If the host cannot refresh it,
-call `show_video` exactly once more after the actual terminal success. It may
-also be called in a new conversation for an existing video or after an explicitly
-confirmed `start_production` render. When ChatGPT renders the native progress or
-video widget, keep it visible and supplement it with concise text. If the surface
-does not render a widget, present the actual returned status, script and viewing
-link in text. A missing widget does not mean the video finished. Never call a
-failed or in-progress run a success.
-
-Retain future briefs in the conversation when the user asks for review only;
-do not claim they were saved in AISTLabs unless a corresponding write succeeded.
+Retain future briefs in the conversation when the user asks for review only; do not
+claim they were saved in AISTLabs unless a corresponding write succeeded.
Full technical diff · 3 changed fields

changed /description

BEFORE
"Create and manage product videos, brands and authorized product photos in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding product images, confirmed video generation, progress or existing results. Do not use for text-only ad scripts, editing uploaded videos or general marketing advice."
AFTER
"Create and manage product videos, direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding images or videos, confirmed generation, progress or existing results. Do not use for text-only ad scripts, simple trimming or subtitling of uploaded videos, or general marketing advice."

changed /included_files

BEFORE
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 247
  }
]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 298
  }
]

changed /skill_md_contents

BEFORE
"---\nname: aistlabs-video\ndescription: Create and manage product videos, brands and authorized product photos in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding product images, confirmed video generation, progress or existing results. Do not use for text-only ad scripts, editing uploaded videos or general marketing advice.\n---\n\n# AISTLabs product video workflow\n\nUse the connected AISTLabs MCP server only for work the user requests in their\nAISTLabs workspace. Explicit user instructions take precedence over this\nworkflow. Server authorization, rights requirements and account limits still\napply to every action.\n\n## When to use AISTLabs\n\n- The user wants to inspect or manage their connected AISTLabs brands, products,\n  authorized images, saved briefs or existing videos.\n- The user explicitly asks to create a brand or product or save an image in\n  AISTLabs. This is a valid standalone action; generating a video is optional.\n- The user wants to plan, estimate, confirm, track or view a product video in\n  their connected account.\n\nDo not invoke AISTLabs for a request to write an ad script as text only, trim or\nsubtitle an uploaded MP4, or provide general marketing advice. Answer those\nrequests directly. Do not inspect account data merely because an unrelated\nrequest mentions a product, brand, ad, TikTok or Instagram. AISTLabs does not\nedit existing uploaded videos. Do not substitute a new generation for editing.\n\n## Read the account without starting work\n\nFor account discovery or resuming AISTLabs work, read `get_me`,\n`get_last_activity` and relevant `get_docs` topics. Use only returned, authorized\nbrand, product, media and content identifiers. Do not silently choose between\nmultiple accessible brands or infer entitlements from a connection budget.\n\n## Explicit brand and image setup\n\nWhen the user supplies a brand name and explicitly requests a new brand,\n`create_brand` is the creation step. Do not merely list existing brands and wait\nfor another authorization that the user already gave. If they request no\nwebsite or scan, omit website, Instagram and extra sources; do not call\n`add_brand_sources` or initiate a Brand Brain scan.\n\nCreate the requested product with `create_product`, retain the returned\n`brandId` and `productId`, and use stable idempotency keys for each write that\naccepts one. Attach the real user-authorized chat image using `attach_file` with\n`role=\"product_image\"` and that `productId`. Verify saved media and readiness\nwith `list_product_media`; `view_media` can show the safety-checked image.\n\nIf the chat surface cannot provide a transferable file, say so and offer the\none-time `create_upload` page. Wait for `get_upload` and verify saved media\nbefore claiming the photo was saved. Never invent file IDs, download URLs,\nproduct photos or a completed upload. Do not start a scan, suggest styles or\ngenerate a video when the user asked only to save a brand, product and image.\n\n## Plan and generate only after confirmation\n\nRead `get_create_options`, use a ready authorized product image and preserve\nthe user's brief. Call `quote_content` with the exact proposed generation\narguments. Explain the returned estimated account-credit usage and wait for\nexplicit approval. Before rendering, obtain the user's confirmation that they\nown or are authorized to use the assets and likenesses; pass\n`rightsConfirmed=true` only after that confirmation.\n\nSubmit one `create_content` request with a stable idempotency key. Reuse its\nreturned `contentId`; an accepted request is not a completed video. If account\naccess or usable credits are insufficient, state the restriction and stop.\nDo not direct the user to transactions, offers or account upgrades from this\nintegration, and never bypass the server's limits.\n\n## Show actual progress and results\n\nCall `show_video` for the accepted `contentId` to present its native progress\ncard when supported. Use `get_content` and bounded `wait_content` calls at the\nreturned interval to track the same video. Share actual stages, the returned\nestimate and saved script when available. Estimates are not guarantees. Do not submit a second\ngeneration while waiting or invent completion, progress, media or a result URL.\n\nKeep one card for that content: a live progress card updates into the completed\nvideo in place. Do not call `show_video` on each poll or add a second completed\ncard when the first one refreshed successfully. If the host cannot refresh it,\ncall `show_video` exactly once more after the actual terminal success. It may\nalso be called in a new conversation for an existing video or after an explicitly\nconfirmed `start_production` render. When ChatGPT renders the native progress or\nvideo widget, keep it visible and supplement it with concise text. If the surface\ndoes not render a widget, present the actual returned status, script and viewing\nlink in text. A missing widget does not mean the video finished. Never call a\nfailed or in-progress run a success.\n\nRetain future briefs in the conversation when the user asks for review only;\ndo not claim they were saved in AISTLabs unless a corresponding write succeeded.\n"
AFTER
"---\nname: aistlabs-video\ndescription: Create and manage product videos, direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding images or videos, confirmed generation, progress or existing results. Do not use for text-only ad scripts, simple trimming or subtitling of uploaded videos, or general marketing advice.\n---\n\n# AISTLabs creative workflow\n\nUse the connected AISTLabs MCP server only for work the user requests in their\nAISTLabs workspace. Explicit user instructions take precedence over this\nworkflow. Server authorization, rights requirements and account limits still\napply to every action.\n\n## When to use AISTLabs\n\n- The user wants to inspect or manage their connected AISTLabs brands, products,\n  projects, folders, Elements, authorized images, saved briefs or existing results.\n- The user explicitly asks to create a brand, product, project or folder or to save\n  an image in AISTLabs. This is a valid standalone action; generating is optional.\n- The user wants to plan, estimate, confirm, track or view a product video, a direct\n  Studio image, video or audio, a Virality swap, Ad Multiplier variants or a\n  Performance Ads take in their connected account.\n\nDo not invoke AISTLabs for a request to write an ad script as text only, simply trim\nor subtitle an uploaded MP4, or provide general marketing advice. Answer those\nrequests directly. Do not inspect account data merely because an unrelated request\nmentions a product, brand, ad, TikTok or Instagram. Studio edit mode is a separately\nquoted generative edit, not a file editor; do not substitute it for trimming.\n\n## Read the account without starting work\n\nFor discovery or resuming work, read `get_me`, `get_last_activity` and the relevant\n`get_docs` topic: `workflow` (brand video), `studio`, `projects`, `virality`,\n`multiplier`, `performance`, `errors`, `safety`. Use only returned, authorized\nidentifiers. Do not silently choose between multiple accessible brands or projects.\n\n## Explicit brand and image setup\n\nWhen the user supplies a brand name and explicitly requests a new brand,\n`create_brand` is the creation step. If they request no website or scan, omit\nwebsite, Instagram and extra sources; do not call `add_brand_sources`.\nCreate the requested product with `create_product` and attach the real\nuser-authorized chat image using `attach_file` with `role=\"product_image\"` and that\n`productId`. Verify saved media with `list_product_media`; `view_media` shows the\nsafety-checked image. If no transferable file exists, offer `create_upload` and wait\nfor `get_upload`. Never invent file IDs, uploads or results.\n\n## Quote, confirm rights, then generate\n\nEvery paid step has an exact price: `quote_content`, `quote_studio_generation`,\n`quote_virality_swap`, the `prices` of a pack or job, or a `price_changed` refusal.\nState the account credits and wait for explicit approval. Before generating,\nuploading or importing media, obtain the user's confirmation that they own or may\nuse every asset, brand, face, body and voice; pass `rightsConfirmed=true` only after\nthat confirmation. Virality and Ad Multiplier change real people's likeness: use them\nonly with the user's own media or each depicted person's permission, and never to\nimpersonate, deceive about or sexualize anyone. Use a stable idempotency key for\neach write and reuse it on retries. If access or credits are insufficient, state\nthe restriction and stop; do not direct the user to transactions or upgrades.\n\n## Direct Studio\n\nRead `list_studio_models`, pick a project and model with the user, save references\nwith `create_studio_upload`/`get_studio_upload`, `import_studio_url` or\n`import_studio_asset`, quote the exact request and start it with\n`start_studio_generation` (`expectedCredits`, `userConfirmed=true`,\n`rightsConfirmed=true`). Poll `get_studio_generation` and call\n`show_studio_generation` once for its card.\n\n## Virality, Ad Multiplier and Performance Ads\n\nFor a Virality swap ask for the mode (motion or swap), quote with\n`quote_virality_swap`, then `start_virality_swap` with the images, the user's words\nand `rightsConfirmed=true`; poll `get_virality_job` and show the ready variant with\n`show_studio_generation`. Ad Multiplier and the step-by-step Virality flow analyse\nthe video first (paid), save the approved plan, generate references where needed and\nthen render. Performance Ads analyse one proven competitor ad as a structural\nreference only and render takes for the user's own products.\n\n## Show actual progress and results\n\nCall `show_video` once for a brand video and `show_studio_generation` once for a\nStudio, Virality or Ad Multiplier result; polls draw no new cards. Share actual\nstages and saved scripts; estimates are not guarantees. Do not submit a second\ngeneration while waiting or invent completion, progress, media or a result URL.\nListings omit raw media links: use `view_media` for safety-checked images and the\ncards or `humanUrl`/`resultUrl` otherwise. If the surface does not render a widget,\npresent the actual returned status in text. A missing widget does not mean the work\nfinished. Never call a failed or in-progress run a success.\n\nRetain future briefs in the conversation when the user asks for review only; do not\nclaim they were saved in AISTLabs unless a corresponding write succeeded.\n"
Full snapshot data
{
  "description": "Create and manage product videos, direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding images or videos, confirmed generation, progress or existing results. Do not use for text-only ad scripts, simple trimming or subtitling of uploaded videos, or general marketing advice.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 298
    }
  ],
  "name": "aistlabs-video",
  "skill_md_contents": "---\nname: aistlabs-video\ndescription: Create and manage product videos, direct Studio images, videos and audio, Virality swaps, Ad Multiplier variants, Performance Ads, brands and authorized media in the user's connected AISTLabs workspace. Use for explicit AISTLabs account setup, adding images or videos, confirmed generation, progress or existing results. Do not use for text-only ad scripts, simple trimming or subtitling of uploaded videos, or general marketing advice.\n---\n\n# AISTLabs creative workflow\n\nUse the connected AISTLabs MCP server only for work the user requests in their\nAISTLabs workspace. Explicit user instructions take precedence over this\nworkflow. Server authorization, rights requirements and account limits still\napply to every action.\n\n## When to use AISTLabs\n\n- The user wants to inspect or manage their connected AISTLabs brands, products,\n  projects, folders, Elements, authorized images, saved briefs or existing results.\n- The user explicitly asks to create a brand, product, project or folder or to save\n  an image in AISTLabs. This is a valid standalone action; generating is optional.\n- The user wants to plan, estimate, confirm, track or view a product video, a direct\n  Studio image, video or audio, a Virality swap, Ad Multiplier variants or a\n  Performance Ads take in their connected account.\n\nDo not invoke AISTLabs for a request to write an ad script as text only, simply trim\nor subtitle an uploaded MP4, or provide general marketing advice. Answer those\nrequests directly. Do not inspect account data merely because an unrelated request\nmentions a product, brand, ad, TikTok or Instagram. Studio edit mode is a separately\nquoted generative edit, not a file editor; do not substitute it for trimming.\n\n## Read the account without starting work\n\nFor discovery or resuming work, read `get_me`, `get_last_activity` and the relevant\n`get_docs` topic: `workflow` (brand video), `studio`, `projects`, `virality`,\n`multiplier`, `performance`, `errors`, `safety`. Use only returned, authorized\nidentifiers. Do not silently choose between multiple accessible brands or projects.\n\n## Explicit brand and image setup\n\nWhen the user supplies a brand name and explicitly requests a new brand,\n`create_brand` is the creation step. If they request no website or scan, omit\nwebsite, Instagram and extra sources; do not call `add_brand_sources`.\nCreate the requested product with `create_product` and attach the real\nuser-authorized chat image using `attach_file` with `role=\"product_image\"` and that\n`productId`. Verify saved media with `list_product_media`; `view_media` shows the\nsafety-checked image. If no transferable file exists, offer `create_upload` and wait\nfor `get_upload`. Never invent file IDs, uploads or results.\n\n## Quote, confirm rights, then generate\n\nEvery paid step has an exact price: `quote_content`, `quote_studio_generation`,\n`quote_virality_swap`, the `prices` of a pack or job, or a `price_changed` refusal.\nState the account credits and wait for explicit approval. Before generating,\nuploading or importing media, obtain the user's confirmation that they own or may\nuse every asset, brand, face, body and voice; pass `rightsConfirmed=true` only after\nthat confirmation. Virality and Ad Multiplier change real people's likeness: use them\nonly with the user's own media or each depicted person's permission, and never to\nimpersonate, deceive about or sexualize anyone. Use a stable idempotency key for\neach write and reuse it on retries. If access or credits are insufficient, state\nthe restriction and stop; do not direct the user to transactions or upgrades.\n\n## Direct Studio\n\nRead `list_studio_models`, pick a project and model with the user, save references\nwith `create_studio_upload`/`get_studio_upload`, `import_studio_url` or\n`import_studio_asset`, quote the exact request and start it with\n`start_studio_generation` (`expectedCredits`, `userConfirmed=true`,\n`rightsConfirmed=true`). Poll `get_studio_generation` and call\n`show_studio_generation` once for its card.\n\n## Virality, Ad Multiplier and Performance Ads\n\nFor a Virality swap ask for the mode (motion or swap), quote with\n`quote_virality_swap`, then `start_virality_swap` with the images, the user's words\nand `rightsConfirmed=true`; poll `get_virality_job` and show the ready variant with\n`show_studio_generation`. Ad Multiplier and the step-by-step Virality flow analyse\nthe video first (paid), save the approved plan, generate references where needed and\nthen render. Performance Ads analyse one proven competitor ad as a structural\nreference only and render takes for the user's own products.\n\n## Show actual progress and results\n\nCall `show_video` once for a brand video and `show_studio_generation` once for a\nStudio, Virality or Ad Multiplier result; polls draw no new cards. Share actual\nstages and saved scripts; estimates are not guarantees. Do not submit a second\ngeneration while waiting or invent completion, progress, media or a result URL.\nListings omit raw media links: use `view_media` for safety-checked images and the\ncards or `humanUrl`/`resultUrl` otherwise. If the surface does not render a widget,\npresent the actual returned status in text. A missing widget does not mean the work\nfinished. Never call a failed or in-progress run a success.\n\nRetain future briefs in the conversation when the user asks for review only; do not\nclaim they were saved in AISTLabs unless a corresponding write succeeded.\n"
}

SHA-256 of public snapshot: a05b6b670b8ee72d85416422aec71c851f85c4eb7798f5c8411af70215f93e9a