{"id":21076953,"url":"https://github.com/surelle-ha/storyai-visualizer-server","last_synced_at":"2025-05-16T08:30:28.084Z","repository":{"id":232280013,"uuid":"783928396","full_name":"surelle-ha/StoryAI-Visualizer-Server","owner":"surelle-ha","description":"Artificial intelligent image/scenery and narration generation based on the story content. Developed using ExpressJS. Render using VueJS. This project is part of MEVN stack for StoryAI Feature.","archived":false,"fork":false,"pushed_at":"2024-06-02T03:14:06.000Z","size":184465,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-12T20:06:45.955Z","etag":null,"topics":["ai","artificial-intelligence","custom-google","expressjs","gtts","nodejs","playht","server"],"latest_commit_sha":null,"homepage":"https://story-ai-visualizer-server.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/surelle-ha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-04-08T21:15:41.000Z","updated_at":"2024-11-17T08:15:11.000Z","dependencies_parsed_at":"2024-06-02T04:27:14.028Z","dependency_job_id":null,"html_url":"https://github.com/surelle-ha/StoryAI-Visualizer-Server","commit_stats":null,"previous_names":["surelle-ha/storyai-visualizer","surelle-ha/storyai-visualizer-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surelle-ha%2FStoryAI-Visualizer-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surelle-ha%2FStoryAI-Visualizer-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surelle-ha%2FStoryAI-Visualizer-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surelle-ha%2FStoryAI-Visualizer-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/surelle-ha","download_url":"https://codeload.github.com/surelle-ha/StoryAI-Visualizer-Server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254496000,"owners_count":22080632,"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":["ai","artificial-intelligence","custom-google","expressjs","gtts","nodejs","playht","server"],"created_at":"2024-11-19T19:34:06.406Z","updated_at":"2025-05-16T08:30:26.041Z","avatar_url":"https://github.com/surelle-ha.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StoryAI-Visualizer\nArtificial intelligent image/scenery and narration generation based on the story content. Render using VueJS.\n\n## Features\n\n- Turn your text-based novel to beautiful visual.\n- Generate image scenery using the story as a prompt.\n- Easy to host.\n\n## Requirements\n\n- NodeJS\n- OpenAI API Key\n- Google Custom Search Engine API Key\n- PlayHT API Key\n- gTTS\n\n## Deployment\n\n### Tunnel Local via Ngrok (Optional)\n\nNgrok is a cross-platform tool that creates secure tunnels between your local development server and the internet, allowing you to expose locally hosted services to the web. It’s often used for testing and development purposes.\n\n##### 1. Download Ngrok\n\n[![Ngrok](https://img.shields.io/badge/Ngrok-purple?style=for-the-badge\u0026logo=ngrok)](https://ngrok.com/download)\n\n##### 2. Register and get your Auth token\n\n##### 3. Run this script on your Ngrok directory.\n\n    ngrok config add-authtoken \u003ctoken\u003e\n\n##### 4. Start a tunnel\n\n    ngrok http \u003cport\u003e\n\n### Or Deploy via Render (Optional)\n\nCreate an account on Render and setup environment variable before you click the button below.\n\n[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/surelle-ha/StoryAI-Visualizer-Server.git)\n\n## Local Installation\n\nFirst, ensure you have NodeJS installed. Then, clone the repository from Github.\n\n```git\ngit clone https://github.com/surelle-ha/StoryAI-Visualizer-Server.git\n```\n\nNext, install the required packages using npm:\n\n```bash\nnpm install\n```\n\n## Usage\n\nTo start the web server, run the script:\n\n```bash\nnpm run serve\n```\n\nOnce the server is running, you can access the API endpoint POST /api/story/chapter/create to create story assets.\n\n### Example Request:\n\n```bash\nPOST /api/story/chapter/create\n```\n\n### Request Payload Structure\n\n```json\n{\n    \"user_authority\": 9012,\n    \"story_id\":1,\n    \"chapter_id\":1,\n    \"chapter_title\":\"The Three Little Pigs\",\n    \"chapter_content\": [\"Once upon a time there was an old mother pig who had three little pigs and not enough food to feed them. So when they were old enough, she sent them out into the world to seek their fortunes.\", \"The first little pig was very lazy. He didn't want to work at all and he built his house out of straw. The second little pig worked a little bit harder but he was somewhat lazy too and he built his house out of sticks. Then, they sang and danced and played together the rest of the day.\", \"The third little pig worked hard all day and built his house with bricks. It was a sturdy house complete with a fine fireplace and chimney. It looked like it could withstand the strongest winds.\"], \n    \"narrate_mode\":\"premium\",\n    \"narrate_lang\":\"en\",\n    \"scene_mode\":\"premium\",\n    \"scene_model\":\"dall-e-3\",\n    \"scene_size\":\"1024x1024\",\n    \"overwrite\":false\n}\n```\n\n### Response Structure:\n\n```json\n{\n    \"status\": \"success\",\n    \"fileGenerated\": {\n        \".mp3\": [\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_0.mp3\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_1.mp3\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_2.mp3\"\n        ],\n        \".png\": [\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_0.png\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_1.png\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_2.png\"\n        ],\n        \".srt\": [\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_0.srt\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_1.srt\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_2.srt\"\n        ],\n        \".sub\": [\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_0.sub\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_1.sub\",\n            \"http://localhost:9111/story_archive/Story_1/Chapter_1/1_2.sub\"\n        ]\n    },\n    \"content\": [\n        \"Once upon a time there was an old mother pig who had three little pigs and not enough food to feed them. So when they were old enough, she sent them out into the world to seek their fortunes.\",\n        \"The first little pig was very lazy. He didn't want to work at all and he built his house out of straw. The second little pig worked a little bit harder but he was somewhat lazy too and he built his house out of sticks. Then, they sang and danced and played together the rest of the day.\",\n        \"The third little pig worked hard all day and built his house with bricks. It was a sturdy house complete with a fine fireplace and chimney. It looked like it could withstand the strongest winds.\"\n    ],\n    \"requestTime\": \"2024-04-11T15:13:02.481Z\",\n    \"responseSpeed\": \"16646 ms\",\n    \"userAgent\": \"PostmanRuntime/7.37.3\",\n    \"requestHeaders\": {\n        \"content-type\": \"application/json\",\n        \"user-agent\": \"PostmanRuntime/7.37.3\",\n        \"accept\": \"*/*\",\n        \"cache-control\": \"no-cache\",\n        \"postman-token\": \"6ea8a4e7-f801-4f35-90e8-9c7205962600\",\n        \"host\": \"localhost:9111\",\n        \"accept-encoding\": \"gzip, deflate, br\",\n        \"connection\": \"keep-alive\",\n        \"content-length\": \"993\"\n    }\n}\n```\n\n## Configuration\n\n- This server is part of another project/repository called StoryAI-Visualizer-Client build using VueJS Framework.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurelle-ha%2Fstoryai-visualizer-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsurelle-ha%2Fstoryai-visualizer-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurelle-ha%2Fstoryai-visualizer-server/lists"}