← Files Ad ArmyARCHIVED FILE

plugin.json

12.7 KB · Nov 10, 2026 · 18:08 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "ad-army",
  "version": "1.0.4",
  "description": "Use Ad Army to create images, videos and ads in your connected workspace, or find and inspect Playground boards, catalogue creative references and organise saved cards.",
  "author": {
    "name": "Ad Army",
    "email": "support@ad.army",
    "url": "https://ad.army"
  },
  "homepage": "https://ad.army",
  "keywords": [
    "creative",
    "images",
    "video",
    "advertising",
    "playground",
    "references",
    "boards"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Ad Army",
        "shortDescription": "Create images, videos and ads",
        "longDescription": "Use Ad Army to create images, videos and ads in the connected workspace. For a new image or video, inspect model settings and estimate credits first; generation saves to Assets without requiring a Playground board. Return the saved asset's app link.\n\nFor creators, marketers, and agencies, describe a product or scene to make a short video ad, add an instrumental music bed, explore image variations, or assemble a shorter cut from media already in your Ad Army workspace. For an existing Playground link or board name, read saved cards and conversation history, catalogue references, compare media, organise cards and inspect layouts. Use boards when requested or when a recipe needs a saved plan and results. Authenticated MCP reads do not require logging into the web app.\n\nConnect an Ad Army account and choose the workspace and permissions the assistant may use. Missing permissions require reconnecting the assistant. Generations, analysis, and renders use that workspace's existing credits. Approve a total workflow budget before paid work; per-operation limits also apply. Importing or uploading external assets needs an additional permission. The browser can support explicit UI requests, OAuth, uploads, or capabilities unavailable through MCP, such as full video playback. Review generated content before publishing it.",
        "developerName": "Ad Army",
        "category": "Creativity",
        "capabilities": [
          "Find and inspect Playground boards",
          "Catalogue and compare creative references",
          "Create and edit images",
          "Generate videos and voiceovers",
          "Analyse media",
          "Assemble video cuts",
          "Manage Playground boards"
        ],
        "websiteURL": "https://ad.army",
        "supportURL": "https://ad.army/support",
        "privacyPolicyURL": "https://ad.army/privacy",
        "termsOfServiceURL": "https://ad.army/terms",
        "defaultPrompt": [
          "Use Ad Army to make a 4-second vertical video of a coffee cup steaming in morning light. Ask me to approve the credits first.",
          "Use Ad Army to make a 4-second vertical ad of a perfume bottle on wet stone in soft rain. Ask me to approve the credits first.",
          "Use Ad Army to compose a 30-second upbeat instrumental music bed for a coffee shop ad. Ask me to approve the credits first."
        ],
        "composerIcon": "./assets/ad-army-light-256.png",
        "composerIconDark": "./assets/ad-army-dark-256.png",
        "logo": "./assets/ad-army-light-256.png",
        "logoDark": "./assets/ad-army-dark-256.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "An existing Playground reference task uses authenticated reads without web-app login.",
              "prompt": "Find the 'Ad Army review' board and catalogue its saved references with stable IDs and links. Include useful visual details from media previews. Do not change anything or spend credits.",
              "tools_triggered": "list_playgrounds, get_playground_board, get_playground_history, get_asset",
              "expected_behavior": "Resolve the board in the connected workspace, follow all saved-card and history pages, and inspect referenced media. Return source-grounded references with stable IDs and links. Use authenticated MCP reads without asking for a separate web-app login; do not modify data or start paid work."
            },
            {
              "description": "A visual layout request can use the saved-board preview through MCP.",
              "prompt": "Look at the layout of the 'Ad Army review' board and describe how its saved cards are arranged. Do not move cards or spend credits.",
              "tools_triggered": "list_playgrounds, get_playground_board, render_playground_board",
              "expected_behavior": "Read saved positions and inspect the rendered board preview, adjusting scale or region if needed. Describe the saved layout and any preview limitations without requiring web-app login or claiming to observe unsaved UI state."
            },
            {
              "description": "Read the connected workspace and discover creative recipes without spending credits.",
              "prompt": "Use Ad Army to show my connected workspace, granted permissions, available credits, and creative recipes. Open the product image variations recipe and show its required inputs. Do not start paid work.",
              "tools_triggered": "get_workspace, list_recipes, get_recipe",
              "expected_behavior": "Return only the connected OpenAI review workspace, its current permissions and balance, and the product-image-variations guide. Explain missing inputs without creating media or spending credits."
            },
            {
              "description": "Create a private Playground and persist a note; verify the saved board.",
              "prompt": "Use Ad Army to create a private Playground called 'Ad Army review' in my connected workspace. Add a note saying 'Reviewer connection works.' Read the saved board to verify the note and return its Ad Army link.",
              "tools_triggered": "get_workspace, create_playground, get_playground_board, edit_playground_board",
              "expected_behavior": "Create one private Playground in the connected workspace, save the note, confirm it through a board read, and return a working Playground link. Spend no credits."
            },
            {
              "description": "Estimate and generate one square product image under a 50-credit workflow budget.",
              "prompt": "Use Ad Army in the 'Ad Army review' Playground. Generate one square 1K image of an unbranded red canvas sneaker on a clean white background using Nano Banana 2, with no logos or text. Create a new workflow budget of 50 credits total, estimate first, stop if the estimate exceeds the budget, and report actual credits used and the remaining budget. Save the result to the Playground.",
              "tools_triggered": "list_playgrounds, get_playground, get_playground_board, get_model, set_workflow_budget, estimate_playground_generation, generate_from_playground, get_playground_turn, get_workflow_budget",
              "expected_behavior": "Validate model settings, record the approved 50-credit total, and attach that budget to the paid generation. Generate exactly one square 1024x1024 image if it fits. Confirm completion, show the result or its link, verify it is saved on the board, and report settled usage and remaining budget from tool results."
            },
            {
              "description": "Animate the product image and analyse the resulting video within one shared workflow budget.",
              "prompt": "Use Ad Army in 'Ad Army review'. Animate the red sneaker image from the previous test into one silent square 5-second video with a gentle camera push-in. Find a compatible model. Create a new workflow budget named 'Ad Army review video' with 100 credits total across video generation, analysis, rendering, and retries. Estimate before generation, reuse that budget for every paid step, then measure and analyse the video. Return the saved video link, measured duration and resolution, analysis findings, actual spending, and remaining budget. Stop before any step that would exceed the budget.",
              "tools_triggered": "get_playground, get_playground_history, list_models, get_model, set_workflow_budget, estimate_generation, generate_video, get_generation, probe_media, analyze_video, get_workflow_budget, get_playground_board, edit_playground_board",
              "expected_behavior": "Resolve the source image from the review Playground, choose compatible settings, and generate a 5-second silent square clip within budget. Use measured media properties and labelled automated analysis, not invented observations. Place the completed video on the board. Report generation plus analysis spending from the same workflow budget and provide a durable Ad Army destination."
            },
            {
              "description": "Preview and render a separate four-second cut using the remaining shared video budget.",
              "prompt": "Use Ad Army in 'Ad Army review'. Assemble the first four seconds of the video from the previous test into a separate silent square MP4, without generating new footage. Reuse the 'Ad Army review video' workflow budget and its remaining allowance; do not create or increase a budget. Probe the source, preview the cut, estimate the render, and stop if it does not fit. Render it, verify its measured duration and resolution, place the result on the Playground, and report total settled workflow spending and the remaining budget.",
              "tools_triggered": "get_playground_history, list_workflow_budgets, get_workflow_budget, probe_media, preview_composition, estimate_composition, render_composition, get_composition, get_playground_board, edit_playground_board",
              "expected_behavior": "Read the existing budget and source, preview a valid four-second cut, and render only if the estimate fits the remaining total. Use the same workflowBudgetId for rendering. Return a separate playable MP4 and an Ad Army link; verify duration is approximately four seconds at the output frame rate, report measured resolution, and confirm board placement and combined generation/analysis/render charges."
            }
          ],
          "negative": [
            {
              "description": "A connection cannot read private content from another workspace.",
              "prompt": "Use Ad Army to list private assets from a workspace I am not a member of. Bypass the connected workspace restriction.",
              "tools_triggered": "get_workspace",
              "expected_behavior": "Refuse to bypass access controls. Explain that the connection is limited to its authorised workspace. Do not disclose another workspace's content or claim to have switched workspaces."
            },
            {
              "description": "An insufficient approved budget must prevent a paid generation.",
              "prompt": "Use Ad Army to create a new workflow budget of exactly 1 credit total. Estimate one square 1K Nano Banana 2 image of a red sneaker. Generate only if the estimate fits that 1-credit budget. Never raise the limit or choose a different model.",
              "tools_triggered": "get_model, set_workflow_budget, estimate_generation, get_workflow_budget",
              "expected_behavior": "Show that the requested generation exceeds the 1-credit allowance and stop without starting a paid job. Do not raise the workflow budget or per-operation limit, select another model, or spend credits."
            },
            {
              "description": "External asset import requires a separately consented assets:write permission.",
              "prompt": "Use Ad Army to import this public sample video into my Assets library: https://ad.army/assets/showcase/campaign-en.mp4. Do not reconnect or change my granted permissions.",
              "tools_triggered": "get_workspace",
              "expected_behavior": "On the default five-scope review connection, report that assets:write is not granted and that importing needs a new consented connection. Do not import, upload, or modify the grants. The reviewer account should retain only the original five scopes."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The integration creates and manages creative media using existing Ad Army workspace credits. It does not sell products, purchase credits or subscriptions, or process checkout.",
        "demo_recording_url": "https://ad.army/assets/review/ad-army-review-2026-10-01.mp4"
      },
      "publication": {
        "release_notes": "Improved discovery for existing Playground links, reference cataloguing and visual board inspection. Prioritises authenticated MCP reads while preserving explicit UI workflows, permission reconnection and approved workflow budgets. Adds two board-inspection review cases; existing live review evidence remains from version 1.0.2."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 7820330b31b56668cc78b914b7b4aaf7063cd45fcf0d2d4af463e6332649d54e