{"id":46905599,"url":"https://github.com/connected-web/gfx-suite","last_synced_at":"2026-03-11T01:10:03.662Z","repository":{"id":244638776,"uuid":"815815151","full_name":"connected-web/gfx-suite","owner":"connected-web","description":"A set of online tools for providing authenticated access to the Connected Web Images API.","archived":false,"fork":false,"pushed_at":"2026-02-12T23:24:25.000Z","size":169,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-13T08:31:33.064Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/connected-web.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-16T08:43:11.000Z","updated_at":"2026-02-12T23:24:28.000Z","dependencies_parsed_at":"2024-06-27T01:14:12.892Z","dependency_job_id":"6245ad34-ae9e-4b56-8bf0-f6797e158dfb","html_url":"https://github.com/connected-web/gfx-suite","commit_stats":null,"previous_names":["connected-web/gfx-suite"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/connected-web/gfx-suite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connected-web%2Fgfx-suite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connected-web%2Fgfx-suite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connected-web%2Fgfx-suite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connected-web%2Fgfx-suite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/connected-web","download_url":"https://codeload.github.com/connected-web/gfx-suite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connected-web%2Fgfx-suite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30365046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"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":[],"created_at":"2026-03-11T01:10:02.587Z","updated_at":"2026-03-11T01:10:03.592Z","avatar_url":"https://github.com/connected-web.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GFX Suite\n\nA set of online tools for providing authenticated access to the Connected Web Images API.\n\n## Key features\n\n- GFX Suite - hosted web interface with user authentication\n- Images API - hosted web API for taking image requests\n- Remote Crank - locally hosted image gen server\n- Image hosting - images uploaded via FTP to be displayed in browser\n\nUtilises [comfyanonymous/ComfyUI](https://github.com/comfyanonymous/ComfyUI) as a local image gen service; using the Remote Crank to receive and process image requests.\n\nThe system is designed for cost-effective hosting - providing a public presence online (accessible from anywhere), while taking advantage of local hardware for relatively expensive image processing tasks.\n\n## Proposed Architecture\n\n![image](https://github.com/connected-web/gfx-suite/assets/6341696/092f0835-6a19-4188-8dbb-698abcf9e2a0)\n\nPrivate planning board on Miro:\n- [https://miro.com/app/board/o9J_khFpBJo=/](https://miro.com/app/board/o9J_khFpBJo=/?moveToWidget=3074457352935427514\u0026cot=14)\n\n## Roadmap\n\n### Beta\n\n- ✅ Assess Alpha and survey for user feedback\n- ✅ Implement feedback from Alpha\n- ✅ Option to clear local prompt and request history\n- ✅ Store initial batch results when making the request\n- ✅ Show place holders based on batch size\n- ✅ Add button to repeat a batch by editing an existing prompt\n- ✅ Display batch details in tabbed view\n- ✅ Show more progress on new image generations\n- ✅ Hide batch details in tabbed view\n- ✅ Store initial batch results when making the request\n- ✅ Repeat a batch by editing an existing prompt\n- ✅ Fix login screen prompting on every visit\n\n### Alpha Feedback\n\nThis feedback has been grouped and prioritised to help build the Beta roadmap.\n\n#### Key\n- **Bugs 🐛**: Immediate blockers, need urgent attention.\n- **Feature requests ✨**: Enhancements that improve user satisfaction, prioritized after bugs.\n- **Neutral suggestions 💡**: Acknowledged but not critical; lower priority.\n\n#### Prioritized feedback\n\n1. **Login screen is far too common**  \n   🐛 - This is a user frustration related to frequent logins, and fixing it will reduce friction.\n\n2. **Want a way to build queries on mobile by using icons/emojis tied to filters**  \n   ✨ - This is a feature request that improves mobile functionality and filtering experience.\n\n3. **Want a way to build variations on a prompt by combining word lists**  \n   ✨ - Enhances creative flexibility for users by offering more options to build prompts.\n\n4. **Want a way to retrieve results from server**  \n   🐛 - Critical for getting results efficiently, making this a functional blocker.\n\n5. **Want a way to edit descriptions / summaries of results**  \n   ✨ - A feature that improves control over content, enhancing user satisfaction.\n\n6. **Want to clean up bad image generations**  \n   ✨ - Helps refine and improve outputs, a feature that would enhance image quality control.\n\n7. **Want to re-request failed images (send automatic report at end of generation?)**  \n   🐛 - Automates failure recovery, saving time and improving the reliability of the image generation process.\n\n8. **Want to browse other images without scrolling all the way back to top**  \n   ✨ - Improves ease of navigation and enhances the user interface for a better browsing experience.\n\n9. **Suggest render placeholders based on batch size (altho infinite loading scroll is nice)**  \n   💡 - A neutral suggestion that acknowledges the current solution but offers an alternative for rendering images based on batch size. Lower priority.\n\n## Change log\n\n### Alpha\n\n#### Setup Phase\n\n- ✅ Initialise project components\n- ✅ Create basic GFX Suite Website\n- ✅ Create Connected Web Images API\n- ✅ Create GFX Suite Remote Crank\n- ✅ Setup remote FTP Server for Image Results\n\n#### GFX Suite Website\n\n- ✅ Host GFX Suite Website via CI Pipeline\n- ✅ Add user authentication via Connected Web Identity\n- ✅ Create Image Request Form\n- ✅ Create Page to Diagnose Requests\n- ✅ Create Image Browser\n- ✅ Create Status Page\n\n#### Connected Web Images API\n\n- Client facing\n  - ✅ Host Image API via Connected Web Services AWS\n  - ✅ Create Image Request API endpoints to accept requests\n  - ✅ Create Image Request API progress endpoints to monitor requests\n  - ✅ Create Image Request API results endpoints to browse images\n- Internal\n  - ✅ Create Image Request API requests endpoints to download Remote Crank image requests\n  - ✅ Create Image Request API update endpoints to receive Remote Crank results\n\n#### GFX Suite Remote Crank\n\n- ✅ Run service locally \n- ✅ Integrate Remote Crank with Connected Web Images API to download image requests\n- ✅ Integrate Remote Crank with ComfyUI Server to generate images\n- ✅ Integrate Remote Crank with Connected Web Images API to upload results\n- ✅ Convert PNGs into JPG files before uploading\n- ✅ Encrypt images using User's key before uploading\n- ✅ Integrate Remote Crank with FTP Server to upload images\n\n#### FTP Server\n\n- ✅ Setup FTP Server\n- ✅ Create FTP Server user accounts\n- ✅ Create initial FTP Server directories\n\n## Contributing\n\nIf you'd like to help with any of these features, please raise an issue or pull request.\n\n## Setup\n\nPrerequisites:\n\n- NodeJS LTS (\u003e 20)\n\nClone this repo:\n\n```\ngit clone https://github.com/connected-web/gfx-suite.git\n```\n\nInstall dependencies:\n\n```\ncd gfx-suite\nnpm install\n```\nStart the local dev servers, run:\n\n```\nnpm run start\n```\n\nThe UI is currently hosted on `http://localhost:8200/`, and communicates with the Connected Web Image API through using credentials from your browser.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnected-web%2Fgfx-suite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconnected-web%2Fgfx-suite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnected-web%2Fgfx-suite/lists"}