← Files TesseractARCHIVED FILE

plugin.json

12.9 KB · Nov 6, 2026 · 00:12 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "tesseract",
  "version": "0.5.0",
  "description": "Tesseract brings professional creative tools into your agent workflow. Work with video layers, compositions, keyframes, and audio in one connected project. Preview the result, direct a revision, and render the finished video locally.",
  "author": {
    "name": "Mirage"
  },
  "homepage": "https://mirage.app/tesseract",
  "repository": "https://github.com/mirage-hq/tesseract",
  "keywords": [
    "video",
    "motion-graphics",
    "editing"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Tesseract",
        "shortDescription": "Edit videos & motion graphics",
        "longDescription": "Tesseract brings professional creative tools into your agent workflow. Work with video layers, compositions, keyframes, and audio in one connected project. Preview the result, direct a revision, and render the finished video locally.",
        "developerName": "Mirage",
        "category": "Creativity",
        "capabilities": [
          "Read",
          "Write"
        ],
        "defaultPrompt": [
          "Turn my travel footage into a polished 30-second vlog with beat-synced music.",
          "Create a launch video for our latest feature using our brand colors and style guide.",
          "Add animated captions that float near each speaker\u2019s head and follow their movement."
        ],
        "brandColor": "#1D1F20",
        "websiteURL": "https://mirage.app/tesseract",
        "supportURL": "https://captions.ai/help/tesseract",
        "privacyPolicyURL": "https://mirage.app/legal/privacy-policy",
        "termsOfServiceURL": "https://mirage.app/legal/api",
        "logo": "./assets/plugin-icon.png",
        "composerIcon": "./assets/plugin-icon.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Generate a still, animate it, and finish a video in Tesseract. Start a fresh conversation with the submitted plugin installed and the dedicated reviewer account connected with generation credits. No attachments or existing projects are needed. If a production plan is presented, approve the stated image and video calls before generation. Do not approve extra takes.",
              "prompt": "Make a five-second vertical video of an imaginary glass terrarium on a windowsill in soft morning light. First generate one still, then animate that same image with a gentle camera push and subtle leaf movement. Use MiniMax H3 Max at 768p for the clip. Finish it in Tesseract with the editable title \u201cA little more calm.\u201d fading in near the end. Keep it silent. Give me the finished MP4 and editable Tesseract project.",
              "tools_triggered": "generate_image, generate_video, poll_generation",
              "expected_behavior": "Generate one image with gpt-image-2.5 and portrait framing. Pass the actual returned image URL to generate_video as image_url with model_id=minimax-h3-max-image-to-video, duration_ms=5000 and resolution=768p. Use a distinct UUID idempotency_key for each generation; retry an uncertain submission with its original arguments and key. Import the returned clip into Tesseract, add the requested title as an editable text layer, and deliver a playable five-second portrait MP4 and editable .tsrct project. The clip should visibly derive from the generated still. Do not call music, speech, sound-effect or transcription tools, or save to Mirage unless requested. Never claim completion before successful tool results and local export. Poll each returned generation_id with its model_id and modality via poll_generation until COMPLETE or FAILED before using or delivering its output."
            },
            {
              "description": "Exercise text-to-video and Recast with synthetic inputs created within this case. Start a fresh conversation with the dedicated reviewer connection and generation credits. No real-person photos, external fixture URLs or existing projects are required. Approve a plan covering exactly one source clip, one reference image and one Recast call when asked. This tests the underlying tools, rather than assuming a photo-upload recipe is included in the ZIP.",
              "prompt": "Make a small Recast demonstration using entirely fictional adults. Generate a five-second video of one adult in a plain red T-shirt waving in a simple studio, and one full-body, front-facing portrait of a different fictional adult wearing a green coat and black trousers. Then replace the person in the generated video with the person from that portrait, including their outfit. Keep the source action, camera and studio as consistent as possible. Use MiniMax H3 Max at 768p for the source and Recast. Give me the source, reference portrait and recast video separately. No music, narration, extra shots or comparison montage.",
              "tools_triggered": "generate_video, generate_image, poll_generation",
              "expected_behavior": "Create one source clip using generate_video with model_id=minimax-h3-max-text-to-video, duration_ms=5000 and resolution=768p, and one reference portrait using generate_image with gpt-image-2.5. After both succeed, call generate_video with model_id=minimax-h3-max-recast, video_url set to that source result, reference_image_urls containing only that portrait result, and resolution=768p. Use direct HTTPS media URLs returned by the tools, not invented URLs or asset IDs in URL fields. Use distinct UUID idempotency keys and reuse a key only to recover an uncertain submission of the identical request. Return the three actual media results with their roles clearly identified. The recast should show the replacement person and green outfit while retaining recognizable source motion and scene. Inspect and disclose visible identity, clothing or continuity defects instead of promising an exact match. Do not generate unrelated media or automatically reroll. Poll each returned generation_id with its model_id and modality via poll_generation until COMPLETE or FAILED before using or delivering its output."
            },
            {
              "description": "Generate a standalone music asset without creating a video or project. Start a fresh conversation with the dedicated reviewer connection and music-generation credits. No attachments are required. Approve the single ten-second music generation if a plan is presented.",
              "prompt": "Generate one ten-second original instrumental music bed for a calm travel video: warm electric piano, soft percussion and a relaxed mood. No singing or spoken words. I only need the downloadable audio, not a video or an editing project.",
              "tools_triggered": "generate_music, poll_generation",
              "expected_behavior": "Call generate_music with a supported text-to-music model, prompt describing the requested instrumentation and no vocals, duration_ms=10000, and a fresh UUID idempotency_key. For sonilo-v1.1-text-to-music or elevenlabs-music-v2, use the prompt-and-duration form. Return the actual signed audio result and identify it as the generated music. Verify it is playable and approximately ten seconds long, with the requested instrumental character. Do not invent an output URL, claim an unheard track meets the brief, create a project, or call image, video, speech, sound-effect or transcription tools. Retry an uncertain submission with the same arguments and key rather than starting another charge. Poll each returned generation_id with its model_id and modality via poll_generation until COMPLETE or FAILED before using or delivering its output."
            },
            {
              "description": "Generate a standalone sound effect with explicit duration and loop settings. Start a fresh conversation with the dedicated reviewer connection and sound-effect credits. No attachments are required. Approve the single two-second sound generation if a plan is presented.",
              "prompt": "Create one two-second sound effect of a soft airy whoosh ending in a gentle glass chime, for a logo reveal. It should play once, not loop, with no voice or music. Give me only the downloadable sound file.",
              "tools_triggered": "generate_sound_effect, poll_generation",
              "expected_behavior": "Call generate_sound_effect with model_id=elevenlabs-text-to-sound-v2, duration_ms=2000, loop=false, a prompt describing the whoosh and chime, and a fresh UUID idempotency_key. Return the actual playable audio result from the response. Check for a single short whoosh-to-chime effect without speech or a music bed, and report any mismatch honestly. Do not replace the requested MCP generation with a local procedural sound, generate extra variations without approval, or call other production tools. Retry an uncertain submission using its original arguments and key. Poll each returned generation_id with its model_id and modality via poll_generation until COMPLETE or FAILED before using or delivering its output."
            },
            {
              "description": "Generate speech, transcribe that exact generated audio, and use the timings in a Tesseract title-card video. Start a fresh conversation with the dedicated reviewer connection and speech/transcription credits. No source media is needed. Approve one speech generation and transcription when the plan is presented; the visuals are locally authored text and shapes.",
              "prompt": "Create a short narrated title-card video in Tesseract. The voiceover must say exactly: \u201cSmall ideas can become something wonderful.\u201d Use the Rachel voice, then transcribe the generated recording to time word-by-word captions. Use a navy background and cream text, and make the video last as long as the actual voiceover. Give me the MP4, editable project, voiceover audio and timed transcript. Do not generate images, video footage, music or sound effects.",
              "tools_triggered": "generate_speech, transcribe_audio, poll_generation",
              "expected_behavior": "Call generate_speech with model_id=elevenlabs-v4, voice=Rachel and text=Small ideas can become something wonderful. Pass that successful result's actual audio URL to transcribe_audio with model_id=elevenlabs-scribe-v2. Use a separate fresh UUID idempotency_key for each operation. Return transcript text and word timestamps grounded in data.text and data.words; the spoken words should match the requested line allowing punctuation/case differences, and timestamps should be ordered and within the recording. Import the speech into Tesseract, align editable word captions to the returned timings, and export an audible MP4 spanning the real recording. Deliver the requested files. Do not call generate_image, generate_video, generate_music or generate_sound_effect, fabricate timestamps, or silently substitute narration text. Poll each returned generation_id with its model_id and modality via poll_generation until COMPLETE or FAILED before using or delivering its output."
            }
          ],
          "negative": [
            {
              "description": "Local motion graphics are relevant to the Tesseract skill but do not require the remote MCP. Start a fresh conversation with no source media. Expected behavior: author and export locally with Tesseract text, shapes and keyframes. Make zero remote MCP calls, including generation, transcription, recipe discovery, hosted preview and project sync. Do not request a paid-generation plan or consume Captions credits. A local video export is allowed; it is not model-generated footage.",
              "prompt": "Make a six-second silent Tesseract animation using editable text and geometric shapes: a cream circle slides onto a navy background, then \u201cHello, tomorrow.\u201d fades in. Export an MP4 and keep the editable project."
            },
            {
              "description": "Video planning vocabulary should not trigger production. Start a fresh conversation. Expected behavior: return a text-only three-shot storyboard and voiceover draft in the chat. Make no MCP calls, create no media or project, and spend no credits. Do not treat descriptions of shots, voiceover or music as authorization to generate them.",
              "prompt": "I am brainstorming a ten-second launch video for an imaginary notebook called Daybreak. Give me a three-shot storyboard and a possible voiceover script. Suggest a musical mood for each shot."
            },
            {
              "description": "Text translation resembles an ad-localization workflow but does not authorize dubbing or production. Start a fresh conversation. Expected behavior: translate the supplied sentence into Spanish in the chat, preserving the message. Do not invoke ad-localization recipes, speech generation, transcription, video generation, project tools or any other MCP tool. No audio or video should be created.",
              "prompt": "Translate this voiceover line into natural Spanish for my ad script: \u201cMake room for your next idea.\u201d"
            }
          ]
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: d1038d8c1105e8038b8c0b257184c28312003b945c1dd3aa9fce2aebb74f1a84