{
  "$schema":"https://developers.openai.com/apps-sdk/schemas/chatgpt-app-submission.v1.json","schema_version":1,
  "app_info":{"display_name":"Storyboard Generator","subtitle":"Turn scripts into storyboards","description":"Turns scripts, treatments, and creative briefs into ordered storyboard panels with narrative beats, composition, camera language, sound, continuity, and production handoff notes.","category":"DESIGN"},
  "tools":{},
  "test_cases":[
    {"description":"Storyboard a short script.","user_prompt":"Turn this two-minute script into a cinematic storyboard with panel IDs, frame descriptions, camera, action, dialogue, and sound.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"Returns ordered, drawable panels tied to narrative beats and clear assumptions.","expected_output_url":null},
    {"description":"Track visual continuity.","user_prompt":"Review these storyboard panels for wardrobe, props, eyelines, screen direction, and location continuity.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"Returns continuity issues, fixes, and unresolved questions.","expected_output_url":null},
    {"description":"Add camera and edit language.","user_prompt":"Add motivated camera movement, transitions, pacing, and alternate coverage to this storyboard.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"Returns story-motivated camera and editorial decisions with coverage alternatives.","expected_output_url":null},
    {"description":"Create sound and dialogue notes.","user_prompt":"Add dialogue, voiceover, ambience, sound effects, music cues, and captions to each storyboard beat.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"Separates sound layers and includes sync and accessibility notes.","expected_output_url":null},
    {"description":"Prepare a production handoff.","user_prompt":"Convert this storyboard into a compact panel table and a production handoff with dependencies and revision notes.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"Returns a stable, production-friendly storyboard package.","expected_output_url":null}],
  "negative_test_cases":[
    {"description":"Do not copy a copyrighted screenplay.","user_prompt":"Reproduce the full screenplay of a recent film as a storyboard.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"Declines extensive reproduction and offers an original or user-supplied transformation.","expected_output_url":null},
    {"description":"Do not invent unavailable story facts.","user_prompt":"Storyboard this inaccessible script and pretend you know every character and scene.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"States what is missing and asks for the script or brief.","expected_output_url":null},
    {"description":"Do not handle unrelated finance requests.","user_prompt":"Calculate my quarterly tax liability.","file_attachment_urls":null,"tools_triggered":null,"expected_output":"The plugin should not be invoked for unrelated tax advice.","expected_output_url":null}]
}
