{"id":18520952,"url":"https://github.com/charlescreativecontent/bentotext2video","last_synced_at":"2025-04-09T09:33:01.295Z","repository":{"id":227067230,"uuid":"770348471","full_name":"CharlesCreativeContent/BentoText2Video","owner":"CharlesCreativeContent","description":"Text-to-Video generation pipeline using BentoML, VLLM (text), XTTS (audio), and SDXL-Turbo(image)","archived":false,"fork":false,"pushed_at":"2024-09-04T19:32:49.000Z","size":1191,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T04:35:27.599Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CharlesCreativeContent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-11T11:54:53.000Z","updated_at":"2025-02-19T15:29:38.000Z","dependencies_parsed_at":"2024-03-11T12:58:50.399Z","dependency_job_id":"04a81d2f-a481-492c-adfe-33066b84611e","html_url":"https://github.com/CharlesCreativeContent/BentoText2Video","commit_stats":null,"previous_names":["charlescreativecontent/bentotext2video"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FBentoText2Video","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FBentoText2Video/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FBentoText2Video/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FBentoText2Video/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CharlesCreativeContent","download_url":"https://codeload.github.com/CharlesCreativeContent/BentoText2Video/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248012754,"owners_count":21033242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-06T17:23:37.376Z","updated_at":"2025-04-09T09:33:00.358Z","avatar_url":"https://github.com/CharlesCreativeContent.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Text-2-Video Generation: \u003ca target=\"_blank\" href=\"https://www.canva.com/design/DAF_O6pGDy8/9sxeLm9LmnVvzbPtdgCspg/view?utm_content=DAF_O6pGDy8\u0026utm_campaign=designshare\u0026utm_medium=link\u0026utm_source=editor#14\"\u003eSlides Here\u003c/a\u003e\r\nThis repo demonstrates how to build a text-to-video application using  [BentoML](https://github.com/bentoml/BentoML), powered by [XTTS](https://huggingface.co/coqui/XTTS-v2), [VLLM](https://github.com/bentoml/BentoML), [SDXL-TURBO](https://huggingface.co/coqui/XTTS-v2).\r\n\r\n\u003cimg src=\"https://github.com/CharlesCreativeContent/myImages/blob/main/images/service.png?raw=true\" width=\"100%\" alt=\"Slideshow Picture\"/\u003e\r\n\r\n\r\nUsed BentoML demos, including [BentoVLLM](https://github.com/bentoml/BentoVLLM), [BentoXTTS](https://github.com/bentoml/BentoXTTS), and [BentoSDXLTurbo](https://github.com/bentoml/BentoSDXLTurbo), and used MoviePy to edit them into a video.\r\n\r\n## Prerequisites\r\n\r\n- Install Python 3.9+ and `pip`. See the [Python downloads page](https://www.python.org/downloads/) to learn more.\r\n- (Recommended) Basic understanding of key concepts in BentoML, such as Services. We recommend you read [Quickstart](https://docs.bentoml.com/en/latest/get-started/quickstart.html) first.\r\n- (Recommended) Create a virtual environment for dependency isolation. See the [Conda documentation](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) or the [Python documentation](https://docs.python.org/3/library/venv.html) for details.\r\n\r\n## Install dependencies\r\n\r\n```bash\r\ngit clone https://github.com/CharlesCreativeContent/BentoText2Video.git\r\ncd BentoText2Video\r\npip install -r requirements.txt\r\n```\r\n\r\n## Run the BentoML Service\r\n\r\nBentoML Service is defined in `service.py`.\r\n\r\nRun `bentoml serve` in your project directory to start the Service.\r\n\r\nYou may also set the environment variable `COQUI_TTS_AGREED=1` to agree to the terms of Coqui TTS.\r\n\r\nLock_packages are currently set to _False_ in the bentofile.yaml, which bypasses local builds. \r\n\r\n```python\r\n$ COQUI_TOS_AGREED=1 bentoml serve .\r\n\r\n2024-01-18T11:13:54+0800 [INFO] [cli] Starting production HTTP BentoServer from \"service:XTTS\" listening on http://localhost:3000 (Press CTRL+C to quit)\r\n/workspace/codes/examples/xtts/venv/lib/python3.10/site-packages/TTS/api.py:70: UserWarning: `gpu` will be deprecated. Please use `tts.to(device)` instead.\r\n  warnings.warn(\"`gpu` will be deprecated. Please use `tts.to(device)` instead.\")\r\n \u003e tts_models/multilingual/multi-dataset/xtts_v2 is already downloaded.\r\n \u003e Using model: xtts\r\n```\r\n\r\nThe server is now active at [http://localhost:3000](http://localhost:3000/).\r\n\r\nYou can interact with it using the Swagger UI, curl, etc.\r\n\r\nCURL\r\n\r\n```bash\r\ncurl -X 'POST' \\\r\n  'http://localhost:3000/synthesize' \\\r\n  -H 'accept: */*' \\\r\n  -H 'Content-Type: application/json' \\\r\n  -d '{\r\n  \"text\": \"It took me quite a long time to develop a voice and now that I have it I am not going to be silent.\",\r\n  \"lang\": \"en\"\r\n}' -o output.mp4\r\n```\r\n\r\n## Deploy to production\r\n\r\nAfter the Service is ready, you can deploy the application to BentoCloud for better management and scalability.\r\n\r\nA YAML configuration file (`bentofile.yaml`) is used to define the build options and package your application into a Bento. See [Bento build options](https://docs.bentoml.com/en/latest/concepts/bento.html#bento-build-options) to learn more.\r\n\r\nMake sure you have [logged in to BentoCloud](https://docs.bentoml.com/en/latest/bentocloud/how-tos/manage-access-token.html), then run the following command in your project directory to deploy the application to BentoCloud.\r\n\r\n```bash\r\nbentoml deploy .\r\n```\r\n\r\nOnce the application is running on BentoCloud, you can access it with the exposed URL.\r\n\r\n**Note**: You can also use BentoML to generate a [Docker image](https://docs.bentoml.com/en/latest/guides/containerization.html) for custom deployments.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharlescreativecontent%2Fbentotext2video","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharlescreativecontent%2Fbentotext2video","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharlescreativecontent%2Fbentotext2video/lists"}