Feature request: API for creating extensions for Remotion Studio
I would like to request a feature that would make Remotion Studio even more extensible and customizable: an API for creating extensions.
An API for creating extensions is a set of functions and interfaces that lets me create and use additional tools that can enhance the functionality or appearance of Remotion Studio. For example, I would love to use an API for creating extensions that lets me:
- Create my own utilities that provide useful functions or information that are not part of the video itself.
- Create my own components that provide new elements or features that are not available in the core package.
- Create my own integrations that connect Remotion Studio with other services or platforms.
- Create my own themes that change the look and feel of Remotion Studio.
I think an API for creating extensions would be a great way to extend and customize Remotion Studio according to my preferences and needs. It would also allow me to create more features and options that are not available in the core package.
I propose that an API for creating extensions could be accessed and documented using a dedicated website or repository. It could also be configured using a remotion.config.ts file in the root of the project, where I could specify which extensions I want to use and how. Then, I could install and use them as regular packages in my project. For example:
// remotion.config.ts
import { Config } from "remotion";
import { Myextension} from "remotion-plugin-mine";
Config.useExtension(Myextension);
I think this would be a simple and intuitive way to implement an API for creating extensions in Remotion Studio. It would also make it easy for developers to publish and share their extensions on npm or other platforms for other users to discover and use.
I believe that having an API for creating extensions in Remotion Studio would improve my extensibility and customizability in video creation using React.
Thanks for writing some thoughts on this!
I think it would be great to have some extensibility. For example we could add a code editor to create animated code snippets.
We already plan to add Remotion Lambda functionality natively to the Remotion Studio.
Thanks for writing some thoughts on this!
I think it would be great to have some extensibility. For example we could add a code editor to create animated code snippets.
We already plan to add Remotion Lambda functionality natively to the Remotion Studio.
Yes, exactly. And by exposing these APIs, devs could make extensions for the UI without editing the real remotion code.
+1 for this. When I was playing around with adding dynamic fields in Remotion Preview (before v4), it involved some crazy css hacks to have an extended UI as the editor, that was actually a part of the React DOM in the video 😅
I have started implementing some APIs now that allow you to control the Studio:
-
writeStaticFile() -
saveDefaultProps() -
updateDefaultProps() -
deleteStaticFile() -
watchStaticFolder()
They allow you to build an overlay UI on top of your video that controls the data and the Studio. Unlike the original plan, your UI does not appear in the right sidebar, rather you make an UI yourself on top of your video.
Demo: https://www.remotion.dev/recorder/subseditor.webm I have an issue for more Studio APIs too: https://github.com/remotion-dev/remotion/issues/3780
Closing this issue in favor for the other one!