Skip to content

Types of Plugins

A type describes what a plugin does. A subtype describes its input/output mode. A package can implement more than one type, and one type can have adapters for several models or backends.

Type Current packages
Image Generation fo-atlascloud, fo-cui, fo-fal, fo-google, fo-openai, fo-wan2gp
Video Generation fo-atlascloud, fo-cui, fo-fal, fo-wan2gp
Character Analysis fo-openai
Voice Analysis fo-fal
Style Analysis fo-openai
Voice Generation fo-elevenlabs, fo-fal
Speech Synthesis fo-elevenlabs, fo-fal
Platform Connectors fo-anthropic, fo-atlascloud, fo-cui, fo-fal, fo-google, fo-openai, fo-openrouter, fo-wan2gp, fo-xai
Server Providers fo-salad
Assistants fo-assistant
Model Pickers fo-model-picker
Prompt Writers fo-prompts
Prompt Builders fo-styles
Script Writers fo-parse-script, fo-script-aid, fo-script-aid-lite

Each type page lists implemented and planned subtypes separately. The package index gives installation steps; individual guides explain the permanent milestone 6-9 controls, requirements and remaining limitations. Older app builds may not have these controls. Installing a package does not supply a missing application feature.

For every new package, create its guide, or its platform page where it owns a platform, register all of its types in src/data/plugin-types.json, link this index to any new type page, and add links in both directions between the type page and package guide (a plug-in that owns a platform is documented on its platform page, under List of plugins → Platforms). A new JSON document contract gets a distinct type when implemented; a second model for an existing contract usually does not.

The plugin-types documentation test checks every fo-* guide and platform page, each registered type and all package/type links. Plugin authors must also compare the shipping inventory in filmopen-plugins with this catalog when adding a package. Generated specification snapshots are not edited for this workflow.