← Files Magic Hour AIARCHIVED FILE
plugin.json
10.3 KB · Nov 3, 2026 · 06:11 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "magic-hour-chatgpt",
"version": "0.1.6",
"description": "Create and edit images, videos, and audio in ChatGPT with Magic Hour's hosted MCP tools.",
"author": {
"name": "Magic Hour"
},
"extensions": {
"com.openai": {
"interface": {
"displayName": "Magic Hour AI",
"shortDescription": "AI images, videos, and audio",
"longDescription": "Use Magic Hour's hosted media tools to generate and edit images, videos, and audio from ChatGPT, then follow renders and return results.",
"developerName": "Magic Hour",
"category": "Creativity",
"capabilities": [
"Interactive"
],
"defaultPrompt": [
"Create a 5-second vertical video. Here\u2019s the scene:",
"Create a square product photo on a clean studio background. The product is:",
"Animate my attached photo. The movement should be:"
],
"logo": "./assets/logo.png",
"composerIcon": "./assets/logo.png",
"websiteURL": "https://magichour.ai/",
"supportURL": "https://help.magichour.ai/en/",
"privacyPolicyURL": "https://magichour.ai/privacy-policy",
"termsOfServiceURL": "https://magichour.ai/terms-of-service"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Read the connected account without generating media or exposing identifiers.",
"prompt": "Use Magic Hour to check my connected account. Tell me only my subscription tier and available credit balance. Do not generate media, spend credits, or display my email address, account ID, or payment details.",
"tools_triggered": "get_account_info",
"expected_behavior": "After Magic Hour authorization if required, call get_account_info and report only the returned tier and available credits. Do not call creation, upload or deletion tools. Do not infer a successful connection from ping alone."
},
{
"description": "Generate one square text-to-image draft within a five-credit budget.",
"prompt": "Use Magic Hour to generate exactly one square image of a cozy red reading chair beside a sunny window, with no text or logos. Use z-image-turbo, image_count 1, resolution 640px and aspect_ratio 1:1. I authorize this one generation only, with a maximum budget of 5 Magic Hour credits. Check my available credits first. If the current price or account eligibility cannot be verified within that budget, stop before generation and explain. Do not substitute a model, increase the budget or automatically create a replacement.",
"tools_triggered": "get_account_info, generate_image, wait_for_image_project",
"expected_behavior": "Verify account access and at least five available credits, use the requested supported settings and explain the five-credit estimate before the authorized call. Submit once, retain the accepted project internally, wait for complete and return the actual image preview or exact download URL. On a wait timeout, resume the same project rather than creating another. Report failure or a budget/eligibility blocker accurately; do not show internal account or project identifiers."
},
{
"description": "Animate the owned, public Magic Hour logo with one 3-second image-to-video generation and an 81-credit requested budget.",
"prompt": "Use this public Magic Hour logo PNG that we own: https://raw.githubusercontent.com/magichourhq/magic-hour-grok-plugin/854467662915b9bff33ea35f6d1d609a064046ef/assets/logo.png . Make exactly one video with a requested duration of 3 seconds and a gentle camera push-in, preserving the logo and its square composition. Use ltx-2.5, resolution 480p, end_seconds 3 and audio false. I authorize this one generation only, with a maximum requested budget of 81 Magic Hour credits. Check my available credits, current pricing and account eligibility before submitting; the source-based initial estimate is 72 credits, and final billing may reconcile after completion. Use the public URL directly as the source image. Do not edit the image first or upload any private or local file. If current pricing, account eligibility, source access or expected billing within the requested budget cannot be verified, stop before generation and explain. Do not substitute settings, automatically retry the create call or regenerate.",
"tools_triggered": "get_account_info, create_video_from_image, wait_for_video_project",
"expected_behavior": "Use assets.image_file_path equal to the supplied public PNG URL, model ltx-2.5, resolution 480p, end_seconds 3 and audio false. This case is prepared but unexecuted. Source tracing gives a 72-credit initial estimate and 73 worker-generated frames; the 81-credit authorization is a requested budget, not a runtime-proven final billing cap. Verify at least 81 available credits, current pricing and account eligibility, and that expected billing fits the requested budget before one create call. Stop before creation if those checks or public source access cannot be verified. Wait for the returned video project to finish and provide the real video preview or exact download URL. Report the final returned charge without claiming that the initial quote guarantees final billing. Do not run an image edit, upload private data or expose internal identifiers. If polling times out, resume the same project; report any source, budget, eligibility or create failure without another paid submission or automatic retry.",
"file_attachment_urls": [
"https://raw.githubusercontent.com/magichourhq/magic-hour-grok-plugin/854467662915b9bff33ea35f6d1d609a064046ef/assets/logo.png"
]
},
{
"description": "Edit the background of the owned public logo within a five-credit budget.",
"prompt": "Use this public Magic Hour logo PNG that we own: https://raw.githubusercontent.com/magichourhq/magic-hour-grok-plugin/854467662915b9bff33ea35f6d1d609a064046ef/assets/logo.png . Create exactly one edited image: change only the dark background to warm golden yellow while preserving the white logo shape. Use flux-2-klein, image_count 1, resolution 640px and aspect_ratio 1:1. I authorize this one edit only, with a maximum budget of 5 Magic Hour credits. Check my available credits first and use the public image URL directly. Do not upload any private or local file. If current pricing, account eligibility or source access cannot be verified within the budget, stop before generation and explain. Do not substitute settings or automatically create another edit.",
"tools_triggered": "get_account_info, edit_image, wait_for_image_project",
"expected_behavior": "Pass the public PNG URL as the only assets.image_file_paths entry and use the requested model, resolution and count. Verify at least five available credits and the five-credit estimate before submitting once. Wait for the actual image result, check that the background changed and the white logo remains recognizable, then return its preview or exact download URL. Do not claim visual success from a project ID alone. Explain any output mismatch or failure without spending on an automatic retry; do not expose internal identifiers.",
"file_attachment_urls": [
"https://raw.githubusercontent.com/magichourhq/magic-hour-grok-plugin/854467662915b9bff33ea35f6d1d609a064046ef/assets/logo.png"
]
},
{
"description": "Generate a short original instrumental track within a fifteen-credit budget.",
"prompt": "Use Magic Hour to generate exactly one 15-second instrumental track: gentle original lo-fi piano with soft percussion, no vocals and no imitation of a named artist or existing song. Use duration 15 and style.instrumental true. I authorize this one generation only, with a maximum budget of 15 Magic Hour credits. Check my available credits first. If the current one-credit-per-requested-second price or account eligibility cannot be verified within that budget, stop before generation and explain. Do not create another track automatically.",
"tools_triggered": "get_account_info, generate_music, wait_for_audio_project",
"expected_behavior": "Verify at least 15 available credits and state the 15-credit estimate before making one generate_music call with duration 15 and instrumental true. Wait for the accepted audio project to complete and return the actual audio preview or exact download URL. Confirm the result is instrumental and report any duration/content mismatch honestly. Preserve signed URLs, resume the same project after a wait timeout, and do not expose account or project identifiers."
}
],
"negative": [
{
"description": "Photography explanation: answer in text without media generation or account access.",
"prompt": "Explain how aperture affects depth of field. Answer with text only; do not create media or look up my Magic Hour account."
},
{
"description": "Photo-caption brainstorming: return five text captions without creating media or checking an account.",
"prompt": "Suggest five short captions for a mountain-lake photo. Text only; do not create an image, video or audio, or check my Magic Hour account."
},
{
"description": "Product-video planning: provide a script without rendering or invoking Magic Hour.",
"prompt": "Outline a 15-second product-video script for a reusable water bottle. I only need the script; do not render video or audio, create images, or call Magic Hour."
}
]
}
},
"publication": {
"release_notes": "Updates the three starter drafts and bundled creation guidance. Complete requests default to one eligible result without an extra budget question; explicit settings/limits and missing-input handling are preserved. Corrects retired tool names in the existing reviewer metadata. Existing reviewer scenarios retain their prompts, assets and settings; no new scenario execution is asserted."
},
"apps": "./.app.json"
}
}
}
SHA-256: ca4e451a3fb6fa58ee52b232e9eca71c8f82602002b3552826584280705a0f88