{"id":26905779,"url":"https://github.com/jongomez/llmpeople","last_synced_at":"2025-04-01T10:58:55.269Z","repository":{"id":206877241,"uuid":"624863102","full_name":"jongomez/llmpeople","owner":"jongomez","description":"3D models powered by ChatGPT","archived":false,"fork":false,"pushed_at":"2024-02-16T21:43:43.000Z","size":23218,"stargazers_count":34,"open_issues_count":1,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-02-16T23:16:10.216Z","etag":null,"topics":["3d","chatgpt","webgl"],"latest_commit_sha":null,"homepage":"https://llmpeople.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jongomez.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}},"created_at":"2023-04-07T12:52:28.000Z","updated_at":"2024-02-16T09:31:33.000Z","dependencies_parsed_at":"2024-02-16T23:22:30.064Z","dependency_job_id":null,"html_url":"https://github.com/jongomez/llmpeople","commit_stats":null,"previous_names":["jongomez/llmpeople"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongomez%2Fllmpeople","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongomez%2Fllmpeople/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongomez%2Fllmpeople/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongomez%2Fllmpeople/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jongomez","download_url":"https://codeload.github.com/jongomez/llmpeople/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246628229,"owners_count":20808106,"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":["3d","chatgpt","webgl"],"created_at":"2025-04-01T10:58:54.592Z","updated_at":"2025-04-01T10:58:55.259Z","avatar_url":"https://github.com/jongomez.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is a monorepo for the [llmpeople project - chat with a 3D model powered by ChatGPT.](https://www.llmpeople.com/)\n\nIt uses BabylonJS, NextJS, TypeScript, and the OpenAI API.\n\n## How to setup\n\nAn OpenAI API key is required. Check out the OPENAI_API_KEY env var in the .env file. If instead of OpenAI's voices you wish to use Google Cloud's voices, you'll need a Google Cloud API key - and use the GOOGLE_CLOUD_API_KEY env var instead.\n\n1. **Install npm** - [nvm](https://github.com/nvm-sh/nvm#installing-and-updating) is recommended. `nvm install --lts` installs the latest node LST version.\n\n2. **Make sure npm is installed**. `npm -v` to check if it's installed.\n\n3. **Install yarn** - `npm install --global yarn`\n\n4. **Install the dependencies** - Simply run `yarn` in the root folder of this project.\n\n5. **Run the project** - Run `yarn dev` in the root folder of this project.\n\n## Models\n\nThere are 2 models available:\n\n1. [A VRoid model](https://vroid.com/en/studio)\n\n2. [A free renderpeople model](https://renderpeople.com/free-3d-people/)\n\nYou can switch between these models in the settings modal.\n\n## Share your model and settings\n\nYou can share your model and settings by copying the URL in the settings modal. This URL contains the model and settings you are currently using. When someone visits this URL, they will see the same model and settings you are currently using. For example, the following URL:\n\n[https://www.llmpeople.com/?model=vest_dude\u0026voice=en-US-Neural2-I\u0026prompt=Prompt+-+respond+as+spongebob](https://www.llmpeople.com/?model=vest_dude\u0026voice=en-US-Neural2-I\u0026prompt=Prompt+-+respond+as+spongebob)\n\nWill load the `vest_dude` model, the `en-US-Neural2-I` voice, and the prompt `Prompt - respond as spongebob`\n\n## Use a custom model\n\nIf you wish to use a custom model, the recommended way is to use [Blender](https://www.blender.org/) and follow the steps below:\n\n1. Export the model as .glb\n2. Save the .glb file in the public folder of this project\n3. Create a new config for the model in the constants.ts file. If the model filename is `my_new_model.glb`, we will need to update the `models` object with the following:\n\n```javascript\nexport const models = {\n  vroid_girl1: defaultConfig,\n  vest_dude: {\n    // (vest_dude's model config)\n  },\n  my_new_model: {\n    // (my_new_model's model config - add your config here)\n  },\n} as const;\n\n```\n\nThe model's filename should match the key in the `models` object. In this example, the key is `my_new_model` and the filename is `my_new_model.glb`.\n\nTo simplify the configuration step, we can start with the defaultConfig: `my_new_model: defaultConfig`, and then adjust it as necessary. For example, let's image that our custom model only has 1 idle animation: `custom_idle_animation` - we would need to update the `models` object as follows:\n\n```javascript\nexport const models = {\n  vroid_girl1: defaultConfig,\n  vest_dude: {\n    // (vest_dude's model config)\n  },\n  my_new_model: {\n    ...defaultConfig,\n    idleAnimations: ['custom_idle_animation'] // add custom idle animation here.\n  },\n} as const;\n\n```\n\n## Speech Recognition\n\nThis project uses [react-speech-recognition](https://www.npmjs.com/package/react-speech-recognition), which in turn uses the [Web Speech API's SpeechRecognition](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition). The language for speech recognition can be set in the settings. The default is `en-US`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongomez%2Fllmpeople","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjongomez%2Fllmpeople","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongomez%2Fllmpeople/lists"}