← Files EddieARCHIVED FILE

plugin.json

8.6 KB · Nov 2, 2026 · 13:08 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "eddie",
  "version": "1.0.3",
  "description": "Edit footage in an Eddie project through conversation.",
  "author": {
    "name": "Press Play Labs, Inc.",
    "email": "hey@heyeddie.ai",
    "url": "https://www.heyeddie.ai"
  },
  "homepage": "https://www.heyeddie.ai",
  "keywords": [
    "video",
    "editing",
    "transcripts",
    "multicam",
    "captions"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Eddie",
        "shortDescription": "Edit your footage by talking",
        "longDescription": "Eddie is an AI assistant video editor for footage already imported into a connected Eddie project. It helps video editors, filmmakers, creators, and teams inspect sources and transcripts; assemble and refine edits; switch multicam angles; add b-roll, captions, titles, music, graphics, grading, and reframing; and export finished videos, documents, or timelines for Premiere Pro, Final Cut Pro, DaVinci Resolve, Avid, and OpenTimelineIO. Eddie requires an accessible Eddie project and does not upload local footage through ChatGPT. Generative and rendering actions may use account credits and disclose costs before paid work.",
        "developerName": "Press Play Labs, Inc.",
        "category": "Creativity",
        "capabilities": [
          "Inspect video projects",
          "Edit video timelines",
          "Export video projects"
        ],
        "websiteURL": "https://www.heyeddie.ai",
        "supportURL": "https://www.heyeddie.ai/help/contact-support",
        "privacyPolicyURL": "https://www.heyeddie.ai/privacy",
        "termsOfServiceURL": "https://www.heyeddie.ai/terms",
        "defaultPrompt": [
          "List the footage in this project and summarize its transcript status.",
          "Find the strongest soundbites in this interview.",
          "Add captions to my existing edit."
        ],
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "demo_recording_url": "https://youtu.be/lLOTXqO0TTQ",
        "test_cases": {
          "positive": [
            {
              "description": "List the prepared demo footage without importing or processing media.",
              "prompt": "In the Eddie project \"ChatGPT Reviewer Demo\" at https://app.heyeddie.ai/share/forge-the-future-0VMP2bY8/mcp, list the source files and their transcript status. Identify Bloomberg_CamA.mov, Bloomberg_CamB.mov, and Bloomberg_CamC.mov. Do not import or process anything.",
              "tools_triggered": "list_sources",
              "expected_behavior": "Returns a text source listing with exactly three A-roll sources and no B-roll: Bloomberg_CamA.mov (source ID x2tem1jxfn29qzmsm4bizm3g), Bloomberg_CamB.mov (git2lsmrbal9455f3bn2xvz8), and Bloomberg_CamC.mov (koh90a0ydybsjgejthgtqyio). CamB has a transcript with 4062 tokens. CamA and CamC correctly say their shared group transcript is on CamB. The Bloomberg \u2013 Multicam group has ID default_group, kind MULTICAM, exactly three camera angles, and CamB as its representative transcript source. No import or analysis job starts."
            },
            {
              "description": "Read a bounded page of the prepared interview transcript.",
              "prompt": "In the Eddie project \"ChatGPT Reviewer Demo\" at https://app.heyeddie.ai/share/forge-the-future-0VMP2bY8/mcp, find Bloomberg_CamB.mov and show only its first three transcript segments with speakers and timestamps. Use offset 0 and limit 3.",
              "tools_triggered": "list_sources, get_transcript",
              "expected_behavior": "list_sources resolves Bloomberg_CamB.mov to source ID git2lsmrbal9455f3bn2xvz8. get_transcript returns success:true, sourceFilename Bloomberg_CamB.mov, totalSegments:220, offset:0, returnedSegments:3, and nextOffset:3. The three entries are: 1.16\u20133.98, Michael (Interviewer), \"There's a lot of negativity when you look at the health of the markets right now.\"; 4.12\u20139.42, Michael (Interviewer), \"People are concerned about inflation, the cost of living, even attracting the best talent.\"; and 9.5\u201311.66, Michael (Interviewer), \"But let's focus on the positives.\" No other transcript page is read."
            },
            {
              "description": "Find and preview the existing named edit.",
              "prompt": "In the Eddie project \"ChatGPT Reviewer Demo\" at https://app.heyeddie.ai/share/forge-the-future-0VMP2bY8/mcp, list the saved edits, then open \"Highlights 30s\" and show its first three segments using format segments, offset 0, and limit 3. Do not create a new edit.",
              "tools_triggered": "list_edits, get_edit",
              "expected_behavior": "list_edits returns ok:true and count:2. It includes \"Highlights 30s\" with segmentCount:8 and durationSec:32. get_edit returns editName \"Highlights 30s\", format \"segments\", totalSegments:8, liveSegments:8, offset:0, returnedSegments:3, and nextOffset:3. Its edit card reports durationSec:31.62 and segmentCount:8 and links to https://app.heyeddie.ai/share/forge-the-future-0VMP2bY8/mcp?edit=Highlights%2030s. The existing cut is playable; no new edit or export is created."
            },
            {
              "description": "Assign one known segment to one known camera, repeatably.",
              "prompt": "In the Eddie project \"ChatGPT Reviewer Demo\" at https://app.heyeddie.ai/share/forge-the-future-0VMP2bY8/mcp, on \"Highlights 30s\", list the camera angles. Set only segment index 0 to Bloomberg_CamB.mov using the mediaId returned for that camera. Leave every other segment and the main audio unchanged.",
              "tools_triggered": "get_multicam_angles, set_multicam_angles",
              "expected_behavior": "get_multicam_angles returns ok:true, action:get_multicam_angles, editName \"Highlights 30s\", groupCount:1, groupId \"default_group\", groupName \"Bloomberg \u2013 Multicam\", groupKind \"multicam\", and exactly three video angles. Bloomberg_CamB.mov is the reference angle with mediaId git2lsmrbal9455f3bn2xvz8. set_multicam_angles receives exactly one assignment with segmentIndex:0 and that mediaId, and returns ok:true, action:set_multicam_angles, editName \"Highlights 30s\", written:1, applied:1, and errors:[]. Repeating the case is safe and still reports one applied assignment. No group is created or resynced, and no main camera or audio preference is changed."
            },
            {
              "description": "Save static captions on the existing short edit without rendering a file.",
              "prompt": "In the Eddie project \"ChatGPT Reviewer Demo\" at https://app.heyeddie.ai/share/forge-the-future-0VMP2bY8/mcp, add static captions to \"Highlights 30s\" at the bottom with face avoidance off and keepFillers true. Then list the edits to confirm captions are saved. Do not export or render a video.",
              "tools_triggered": "add_captions, list_edits",
              "expected_behavior": "add_captions is called with editName \"Highlights 30s\", style:static, position:bottom, avoidFaces:false, and keepFillers:true. It returns ok:true, action:captions_added, editName \"Highlights 30s\", words greater than zero, and a saved revision. list_edits then reports hasCaptions:true for \"Highlights 30s\" while segmentCount remains 8 and durationSec remains 32. Repeating replaces the saved caption track rather than appending duplicates; the revision may increase. No MP4, export, or download link is created."
            }
          ],
          "negative": [
            {
              "description": "Do not trigger for standalone headshot editing without an Eddie project.",
              "prompt": "Remove the background from this headshot and make it black and white."
            },
            {
              "description": "Do not trigger for video writing tasks with no project or footage involved.",
              "prompt": "Write me a script for a ten minute YouTube video about home espresso."
            },
            {
              "description": "Do not trigger for unrelated scheduling requests.",
              "prompt": "What shoots do I have on the calendar next week?"
            }
          ]
        },
        "commerce": false,
        "commerce_description": "Eddie does not sell products or process payments through this plugin."
      },
      "publication": {
        "release_notes": "Narrowed the public tool surface to single-purpose operations and the capabilities enabled in production, corrected export and review-link safety annotations, simplified server instructions, and restricted the edit-card CSP to exact media origins."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: e2575e6b00fb81b3ce0f49c59b4f7d9ddfb12a1724aace2562cf6c4086c8a004