{"id":31534032,"url":"https://github.com/stefanpietrusky/flvm","last_synced_at":"2026-05-05T14:05:00.882Z","repository":{"id":315288546,"uuid":"1058899735","full_name":"stefanpietrusky/FLVM","owner":"stefanpietrusky","description":"Repository for the FLVM prototype. ","archived":false,"fork":false,"pushed_at":"2025-09-30T14:40:41.000Z","size":14738,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-04T05:30:32.037Z","etag":null,"topics":["edgetts","ffmpeg","flask","flask-application","gemini-api","imagemagick","moviepy","ollama","openai-api","video-editing","video-processing","videos"],"latest_commit_sha":null,"homepage":"https://downchurch.studio/ki/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefanpietrusky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-17T17:45:28.000Z","updated_at":"2025-09-30T14:40:44.000Z","dependencies_parsed_at":"2025-09-17T20:07:02.045Z","dependency_job_id":null,"html_url":"https://github.com/stefanpietrusky/FLVM","commit_stats":null,"previous_names":["stefanpietrusky/flvm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stefanpietrusky/FLVM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanpietrusky%2FFLVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanpietrusky%2FFLVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanpietrusky%2FFLVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanpietrusky%2FFLVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefanpietrusky","download_url":"https://codeload.github.com/stefanpietrusky/FLVM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanpietrusky%2FFLVM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32652529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["edgetts","ffmpeg","flask","flask-application","gemini-api","imagemagick","moviepy","ollama","openai-api","video-editing","video-processing","videos"],"created_at":"2025-10-04T05:16:23.307Z","updated_at":"2026-05-05T14:05:00.860Z","avatar_url":"https://github.com/stefanpietrusky.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](images/FLVM_Logo.png)\n\n# FLVM V1 APP\n## Fast Learning Video Maker\n\nThis repository, developed by Stefan Pietrusky, describes the prototype FLVM. FLVM is a Flask-based web application for quickly creating educational videos. In the browser interface, the user first selects a language model backend (e.g., Ollama, OpenAI, or Gemini) and enters a topic. Alternatively, they can upload their own script as a text file. If desired, the app automatically generates a script from the topic, divides it into sentences, and converts each sentence into a voice recording using EdgeTTS. A video clip is then created for each sentence, optionally with a colored background or image, and with subtitles displayed if required. An intro/outro, background music, transitions, and technical parameters such as resolution, codec, frame rate, and voice selection can be customized.\n\nAs soon as the generation process starts, the app creates a job, saves the necessary assets, assembles the clips, adds transitions and music, and encodes the result with MoviePy/FFmpeg. Meanwhile, the interface continuously displays the progress and an approximate processing time. Once the job is complete, the finished video is immediately available for download. The app thus combines text generation, speech synthesis, and video composition into a continuous workflow, from topic to exported learning video.\n\n\u003e **⚠️ Work in Progress:** This prototyp is currently under active development. While I make it available for research purposes, please be aware that there will be some changes to the functional structure. I recognize that some current technical design decisions may not be optimal and are subject to revision. Researchers using this prototyp should expect potential updates and changes. I recommend checking back regularly for updates and versioning information.\n\n\n## FLVM Structure\nThe structure of the current [V1] FLVM app is shown below.\n![FLVM V1 Structure and mode of operation (SVG created with Mermaid)](images/FLVMV1.svg)\n\n## Interface of the FLVM app\n![FLVM V1 Interface (Gif by author)](images/FLVMV1.gif)\n\n## Installing and running the application \n1. Clone this repository on your local computer: \n```bash \ngit clone https://github.com/stefanpietrusky/flvm.git\n```\n2. Install the required dependencies:\n```bash \npip install -r requirements.txt\n```\n3. Install [Ollama](https://ollama.com/) and load a model for example [gemma3](https://ollama.com/library/gemma3) (4B) or another.\n4. Install [FFmpeg](https://ffmpeg.org/), a tool to record, convert and stream audio and video. Set the environment variable in PATH.\n5. Install [ImageMagick](https://imagemagick.org/), a tool for editing and manipulating digital images. The reference to the application must be adjusted in the code (os.environ[\"IMAGEMAGICK_BINARY\"] =)\n6. Start the app with:\n```bash \npython app.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanpietrusky%2Fflvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanpietrusky%2Fflvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanpietrusky%2Fflvm/lists"}