← Files AISTLabsARCHIVED FILE

plugin.json

11.7 KB · Nov 14, 2026 · 18:11 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "aistlabs",
  "version": "1.1.0",
  "description": "Create and manage product videos, Studio images, videos and audio, Virality swaps and Ad Multiplier variants with brands and authorized media in your connected AISTLabs workspace.",
  "author": {
    "name": "AI STORYTELLING LIMITED",
    "email": "support@aistlabs.ai",
    "url": "https://aistlabs.ai"
  },
  "homepage": "https://aistlabs.ai",
  "keywords": [
    "product-video",
    "brand",
    "creative",
    "video",
    "image",
    "studio"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "AISTLabs",
        "shortDescription": "Product videos and AI Studio",
        "longDescription": "AISTLabs helps brand teams and creators make short product videos from product photos and a creative brief, and create images, videos and audio directly in AISTLabs Studio. Connect your account, create or choose an authorized brand and product, add your own photo, and review your creative brief before you confirm generation. Track each video through its production stages, inspect its saved script, and open the finished result.\n\nIn Studio you can choose a model, add your own reference images, videos or audio, review the exact request and confirm it before anything is generated. You can organize work into projects and folders, save reusable Elements, restyle a video you own with Virality by swapping people, objects or the location, turn one of your ads into variants with Ad Multiplier, and adapt the structure of proven ads to your own products with Performance Ads.\n\nUse AISTLabs when you want to work with your connected AISTLabs workspace or create media. ChatGPT can answer text-only script requests and general marketing questions directly. AISTLabs does not simply trim or subtitle uploaded videos.\n\nGeneration runs asynchronously and requires access to the selected workspace; some features are available only to accounts they are enabled for. AI-generated results can contain inaccuracies; review them before use. Upload only assets you own or have permission to use, and use a real person's face or voice only with their permission.",
        "developerName": "AI STORYTELLING LIMITED",
        "category": "Creativity",
        "capabilities": [
          "Create product videos",
          "Generate Studio images and videos",
          "Restyle videos with Virality",
          "Track generation progress"
        ],
        "websiteURL": "https://aistlabs.ai",
        "supportURL": "https://aistlabs.ai/legal",
        "privacyPolicyURL": "https://aistlabs.ai/privacy",
        "termsOfServiceURL": "https://aistlabs.ai/terms",
        "defaultPrompt": [
          "Show my AISTLabs brands and products so I can choose what to create.",
          "Help me plan a 15-second product video before starting generation.",
          "Create a Studio image of my product and show me the request before generating."
        ],
        "brandColor": "#147CC1",
        "brandColorDark": "#62DDF5",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Inspect the connected sample workspace without starting generation.",
              "prompt": "Show my accessible AISTLabs brands, products, and available credits. Do not create or change anything yet.",
              "tools_triggered": "get_last_activity, get_me, list_brands, list_products",
              "expected_behavior": "Return only accessible brands and products and the available credit balance. Ask which brand and product to use. No generation or credit charge is created, and no purchase links or monetary prices are shown."
            },
            {
              "description": "Create a new AISTLabs brand without a website or scan and save an authorized ChatGPT image attachment as a new product.",
              "prompt": "Create a new AISTLabs brand \u201cAISTLabs Reviewer Demo\u201d without a website or scan, then add a new product \u201cReview Attachment Sneaker\u201d with the attached image as its photo. I own the image and authorize uploading it. Confirm everything was saved. Do not generate a video or spend credits.",
              "tools_triggered": "get_me, create_brand, get_brand, create_product, attach_file, list_product_media, view_media, create_upload, get_upload",
              "expected_behavior": "Treat the explicit request as authorization to create the named brand and product. Create the brand without website, Instagram or extra sources, so no scan starts. Use stable idempotency keys for create_brand, create_product and the attachment write, and retain the returned brandId and productId for subsequent cases. Attach the actual provided image as product_image for that product, verify saved ready media with list_product_media, and confirm the brand, product and photo are saved. view_media can display the saved image after its safety check. Do not call add_brand_sources, suggest_taste, quote_content, create_content or start_production, start a scan, or spend credits. If ChatGPT cannot transfer attachment bytes, clearly provide create_upload as a fallback, wait for get_upload to report saved media, and confirm readiness before reporting success. Never claim success for an unuploaded image.",
              "file_attachment_urls": [
                "https://aistlabs.ai/aist/review/review-attachment-sneaker.png"
              ]
            },
            {
              "description": "Generate one real 15-second product video, wait for its terminal result, and open the completed result after confirmation.",
              "prompt": "For the accessible product I choose with its saved photo, prepare a 15-second vertical product video with ambient sound and no voice-over. Show the creative brief and credit estimate and wait for my approval and asset-rights confirmation. After I confirm, generate one video, track it to completion, and show the finished result.",
              "tools_triggered": "list_brands, list_products, get_create_options, quote_content, create_content, get_content, wait_content, show_video",
              "expected_behavior": "Use the actual authorized brandId and productId returned by P2, with its saved ready sneaker image and supported options. Show the proposed brief and exact estimatedCredits from quote_content. Wait for explicit approval and confirmation of asset and likeness rights. Then submit exactly one create_content request with rightsConfirmed=true and a stable idempotency key. Call show_video after acceptance to present its native progress card when supported, including the actual estimate. Track that same contentId with bounded wait_content calls at the returned interval and report actual stages and the saved script when available. Continue until an actual terminal status is observed. A successful run must reach completion and show the authorized, playable AISTLabs result returned by show_video, with the native video card when the ChatGPT surface supports it and a clear text link otherwise. Do not call a merely accepted or in-progress request a successful completed video, invent a result link, or create another generation while waiting."
            },
            {
              "description": "Generate one Studio image from the saved product photo after confirmation and show its card.",
              "prompt": "In my AISTLabs Studio, make one square image of the Review Attachment Sneaker on a sunlit concrete step, using its saved photo. Show the request and estimate first and wait for my approval. I own the photo.",
              "tools_triggered": "get_me, list_studio_models, list_products, import_studio_asset, quote_studio_generation, start_studio_generation, get_studio_generation, show_studio_generation",
              "expected_behavior": "Use the authorized product photo saved in P2: import it into an existing authorized Studio project with import_studio_asset and rightsConfirmed=true, choose an available image model and supported options, and call quote_studio_generation with the exact request. Show the request and the returned estimate and wait for explicit approval. Then call start_studio_generation exactly once with the quoted expectedCredits, userConfirmed=true, rightsConfirmed=true and a stable idempotency key. Poll get_studio_generation at pollAfterSeconds until an actual terminal status and call show_studio_generation once to present the safety-checked result card, with a clear text status otherwise. Do not start a second generation while waiting, invent a result, or show purchase links or monetary prices."
            },
            {
              "description": "Animate the Studio image from P4 into one short video after confirmation and show its card.",
              "prompt": "Animate the sneaker image you just made in my AISTLabs Studio into one 5-second vertical video with a slow camera push-in and no voice. Show the request and estimate first and wait for my approval. I own the image.",
              "tools_triggered": "list_studio_models, list_studio_generations, quote_studio_generation, start_studio_generation, get_studio_generation, show_studio_generation",
              "expected_behavior": "Use the completed image generation from P4 as the first_frame of an available video model that supports the Animate input mode and a 5-second duration. Call quote_studio_generation with the exact request, show the request and the returned estimate and wait for explicit approval. Then call start_studio_generation exactly once with the quoted expectedCredits, userConfirmed=true, rightsConfirmed=true and a stable idempotency key. Poll get_studio_generation at pollAfterSeconds until an actual terminal status and call show_studio_generation once to present the safety-checked result card, with a clear text status otherwise. Do not start a second generation while waiting, invent a result, use anyone's likeness, or show purchase links or monetary prices."
            }
          ],
          "negative": [
            {
              "description": "Writing an ad script as text only \u2014 no video should be generated.",
              "prompt": "Write a 30-second TikTok ad script for my new skincare serum.",
              "expected_behavior": "The plugin should not be invoked; ChatGPT answers directly."
            },
            {
              "description": "Editing an existing video file \u2014 AISTLabs does not edit user-uploaded videos.",
              "prompt": "Trim my uploaded MP4 to 10 seconds and add English subtitles.",
              "expected_behavior": "The plugin should not be invoked; ChatGPT answers directly."
            },
            {
              "description": "General marketing advice \u2014 no generation needed.",
              "prompt": "What are the best practices for Instagram ads for a small coffee brand?",
              "expected_behavior": "The plugin should not be invoked; ChatGPT answers directly."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "This integration uses existing AISTLabs account access and credit allowances. It does not sell goods or services, display subscription offers, or initiate purchases.",
        "demo_recording_url": "https://aistlabs.ai/review/openai-demo"
      },
      "publication": {
        "release_notes": "1.1.0: Adds AISTLabs Studio to the same app: images, videos and audio from chosen models, projects, folders and reusable Elements, Virality swaps and Motion transfer, Ad Multiplier variants and Performance Ads. Every generation, upload and use of a person's likeness requires explicit rights confirmation and passes the same content safety checks. The existing 42 tools, endpoint and brand video workflow are unchanged."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 33daef8d5605859cbbf990c0f776379fc50211480390f051169df9ba74285034