openstory-so/openstory
v1.3.2MIT
Generate entire films, episodes, and micro-dramas from a script, or single images and video clips, and mint a library style. Connects the hosted OpenStory MCP server.
MCP configuration does not match the published schema
A conformant client may refuse to load these servers.
hosts
- openstory.so
plugin.json
- name
- openstory
- version
- 1.3.2
- description
- Generate entire films, episodes, and micro-dramas from a script, or single images and video clips, and mint a library style. Connects the hosted OpenStory MCP server.
- author
- OpenStoryhttps://openstory.so
- license
- MIT
- homepage
- https://openstory.so
- repository
- https://github.com/openstory-so/skills
- extensions
- com.openai
mcp.json
- openstorystreamable-httphttps://openstory.so/mcp
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "openstory",
"version": "1.3.2",
"description": "Generate entire films, episodes, and micro-dramas from a script, or single images and video clips, and mint a library style. Connects the hosted OpenStory MCP server.",
"author": {
"name": "OpenStory",
"url": "https://openstory.so"
},
"homepage": "https://openstory.so",
"repository": "https://github.com/openstory-so/skills",
"license": "MIT",
"keywords": ["openstory", "video", "style", "sequence"],
"extensions": {
"com.openai": {
"onboardingSkill": "./skills/setup/SKILL.md",
"interface": {
"displayName": "OpenStory",
"shortDescription": "AI films, episodes, and micro-dramas",
"longDescription": "OpenStory turns a script into an entire film, episode, or micro-drama, with scenes, dialogue, and music. It also generates single images and video clips directly from a prompt, reference images, or start and end frames, mints a reusable library style from references, and shares a cut of stills, dialogue, music, and video. The plugin connects to the hosted MCP server at https://openstory.so/mcp and reads or writes only what the signed-in team can access. Sign-in is OAuth. On a machine with a shell, stitch plays local files. Without one, openstory.create_stitch publishes a page from URLs or small inline files.",
"developerName": "OpenStory",
"category": "Creativity",
"capabilities": ["Generate films and episodes", "Generate images and video", "Read your library"],
"websiteURL": "https://openstory.so",
"supportURL": "https://github.com/openstory-so/skills/issues",
"privacyPolicyURL": "https://openstory.so/privacy",
"termsOfServiceURL": "https://openstory.so/terms",
"defaultPrompt": [
"Generate a 5-second OpenStory video from this image",
"Turn this script into an OpenStory micro-drama",
"Mint an OpenStory style from these references"
],
"brandColor": "#2A1840",
"brandColorDark": "#FDB99B",
"composerIcon": "./assets/icon.png",
"composerIconDark": "./assets/icon.png",
"logo": "./assets/logo.png",
"logoDark": "./assets/logo.png",
"screenshots": ["./assets/screenshot-sequence.webp", "./assets/screenshot-scenes.webp", "./assets/screenshot-styles.webp"]
},
"review": {
"test_cases": {
"positive": [
{
"description": "Confirm the signed-in team",
"prompt": "Which OpenStory team am I signed in as?",
"tools_triggered": "whoami",
"expected_behavior": "Call whoami and report the returned user and team. Do not ask for an API key."
},
{
"description": "List library styles",
"prompt": "What OpenStory styles can I use?",
"tools_triggered": "openstory.list_styles",
"expected_behavior": "Call openstory.list_styles and name styles from the result. Do not invent style ids."
},
{
"description": "Create a sequence from a script",
"prompt": "Turn this into an OpenStory sequence: a 20-second product film of a ceramic mug on a morning windowsill. Motion and music on.",
"tools_triggered": "openstory.create_sequence",
"expected_behavior": "Call openstory.create_sequence with the script and motion and music enabled. Return the sequence id from the tool result."
},
{
"description": "Check generation status",
"prompt": "Is my newest OpenStory sequence finished?",
"tools_triggered": "openstory.list_sequences, openstory.get_sequence_status",
"expected_behavior": "Find the newest sequence with openstory.list_sequences, then call openstory.get_sequence_status and report that status."
},
{
"description": "List this team's sequences",
"prompt": "List my OpenStory sequences.",
"tools_triggered": "openstory.list_sequences",
"expected_behavior": "Call openstory.list_sequences and list the sequences it returns for the signed-in team."
}
],
"negative": [
{
"description": "No payments",
"prompt": "Transfer $100 from my OpenStory account to another account."
},
{
"description": "Do not archive every sequence",
"prompt": "Delete all of my OpenStory sequences."
},
{
"description": "No other team's library",
"prompt": "Show sequences from an OpenStory team I am not a member of."
}
]
},
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments."
},
"publication": {
"release_notes": "1.3.2 tags and releases every version on merge to main, so Gemini CLI can install the extension from the repository."
}
}
}
}
What else this package ships
These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.
- LICENSE
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- com.openai