octimot / StoryToolkitAI

An editing tool that uses AI to transcribe, understand content and search for anything in your footage, integrated with ChatGPT and other AI models
GNU General Public License v3.0
690 stars 55 forks source link

CLI Support #142

Open HitTheDrum opened 9 months ago

HitTheDrum commented 9 months ago

Is your feature request related to a problem? Please describe. I often find myself in situations where I need to use the StoryToolkitAI in a more streamlined and efficient manner, particularly in environments where a graphical interface is not ideal or available. For example, when working in automated scripts, the lack of a command line interface (CLI) limits the usability of StoryToolkitAI in these contexts.

Describe the solution you'd like I would like to see the implementation of CLI support for StoryToolkitAI. This would include basic functionalities such as starting the tool, executing specific tasks, and retrieving results all through command line commands. Ideally, this would allow for full utilization of StoryToolkitAI's features without the need for a graphical user interface. (e.g. transcribe mp4 file (input) with language/model settings into text file (output)).

Describe alternatives you've considered An alternative solution might be the creation of an API that could be used for remote execution and management of the tool. However, this might not be as straightforward and accessible for users who are more comfortable with direct command line usage. Another alternative could be integrating StoryToolkitAI with existing command line tools, but this could limit its functionalities and seamless integration.

Additional context The addition of CLI support would significantly enhance the flexibility and accessibility of StoryToolkitAI, especially for users in a development or server environment. This feature would align StoryToolkitAI with many other modern tools that offer both GUI and CLI interfaces, catering to a wider range of user preferences and use cases.

octimot commented 9 months ago

Hey!

Thanks for the suggestions! This is definitely on the todo list, but I don't have a clear timeline yet.

The priority right now is to finish the story window which would allow users to create select reels from their content: https://www.patreon.com/posts/release-of-0-19-88065648 - eta on this is in the next couple of weeks.

Back to your suggestion, I somehow think that the CLI is more useful in a non-professional environment - i.e. an editing room that doesn't have a person that knows how to link APIs and such. More so, an API would require some additional safety benchmarks, like authentication and encryption.

Although, an API would indeed help us compose something like a headless Docker image to run on any GPU cloud node like (runpod.io for eg.)...

But, the API could also be a simple script, independent of the tool which simply triggers the CLI commands that are available locally.

For example, when working in automated scripts, the lack of a command line interface (CLI) limits the usability of StoryToolkitAI in these contexts.

What kind of automated scripts are you running usually

HitTheDrum commented 9 months ago

Hi octimot!

Thanks for the reply! I could think of use-cases for both scenarios, CLI and API. Although CLI would be more interesting in my current use case (recording (e.g. Meeting), VO-recognition --> transcript, Summary (maybe even video summary later), task/ticket creation (AI)) in different scenarios (C# apps, Power Automate, Batch-Automation...), an API could be a additional/flexible way of handling batch-jobs unattended. As you said, this would require additional aspects concerning security or network/latency. As I am using different tools in my desktop environment and CLI seems faster/easier to be implemented, personally I already would have a big benefit in automation with CLI.