{"id":22452092,"url":"https://github.com/woctezuma/heroku-flask-api","last_synced_at":"2025-08-02T00:32:45.187Z","repository":{"id":38318288,"uuid":"330625536","full_name":"woctezuma/heroku-flask-api","owner":"woctezuma","description":"Deploy an API built with Flask on Heroku, in order to match game banners.","archived":false,"fork":false,"pushed_at":"2023-11-06T12:55:15.000Z","size":23794,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-08T10:51:39.492Z","etag":null,"topics":["api","clip","flask","heroku","openai"],"latest_commit_sha":null,"homepage":"https://damp-brushlands-51855.herokuapp.com/render/1091500/","language":"Python","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/woctezuma.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}},"created_at":"2021-01-18T10:06:05.000Z","updated_at":"2021-05-31T13:50:07.000Z","dependencies_parsed_at":"2023-01-22T09:00:52.828Z","dependency_job_id":null,"html_url":"https://github.com/woctezuma/heroku-flask-api","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/woctezuma/heroku-flask-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woctezuma%2Fheroku-flask-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woctezuma%2Fheroku-flask-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woctezuma%2Fheroku-flask-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woctezuma%2Fheroku-flask-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/woctezuma","download_url":"https://codeload.github.com/woctezuma/heroku-flask-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woctezuma%2Fheroku-flask-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268317577,"owners_count":24231383,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api","clip","flask","heroku","openai"],"created_at":"2024-12-06T06:09:44.682Z","updated_at":"2025-08-02T00:32:42.842Z","avatar_url":"https://github.com/woctezuma.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Heroku Flask API\n\nDeploy an API built with Flask on Heroku.\n\n## Data\n\nData consists of images from the Steam store (~30k games) downloaded [on January 9, 2021][data-snapshot].\n\n## Usage\n\nTo run locally:\n```bash\npython run.py\n```\n\nTo deploy:\n```bash\nheroku login\nheroku create\ngit push heroku main\n```\n\n## Web App\n\nThe web app can be accessed at this URL:\n\n\u003e https://damp-brushlands-51855.herokuapp.com/\n\nTo ask for results about Cyberpunk 2077, you have to append the appID (`1091500`) to the `/render/` endpoint:\n\n\u003e https://damp-brushlands-51855.herokuapp.com/render/1091500/\n\nOr you can try your luck with a random game. **Caveat: some Steam games can be offensive!**\n\n\u003e https://damp-brushlands-51855.herokuapp.com/render/\n\n### Number of matches\n\nTo tweak the number of matches, for instance to 5 instead of the default (11):\n`render/1091500/5`\n\n### Direct links to the Steam store\n\nTo have direct links to the Steam store:\n`store/1091500/`\n\n### Mirror and flip\n\nCLIP seems be attentive to texts present on images.\nTo try to mitigate this effect, the query image can be:\n-   mirrored (i.e. horizontally),\n-   flipped (i.e. vertically).\n\nTo mirror the query image:\n`render_x/` or `render/?mirror=1`\n\nTo flip the query image:\n`render_y/` or `render/?flip=1`\n\nTo mirror and flip the query image:\n`render_xy/` or `render/?mirror=1\u0026flip=1`\n\n## References\n\n- [`steam-CLIP`][banner-repository-CLIP]: retrieve games with similar banners, using OpenAI's CLIP (resolution 224),\n- [`heroku-flask-api`][my-flask-API]: serve the matching results through an API built with Flask on Heroku,\n- [`heroku-clip`][heroku-app-CLIP]: deploy an app built with Streamlit on Heroku.\n\n\u003c!-- Definitions --\u003e\n\n[data-snapshot]: \u003chttps://github.com/woctezuma/steam-store-snapshots\u003e\n[banner-repository-CLIP]: \u003chttps://github.com/woctezuma/steam-CLIP\u003e\n[my-flask-API]: \u003chttps://github.com/woctezuma/heroku-flask-api\u003e\n[heroku-app-CLIP]: \u003chttps://github.com/woctezuma/heroku-clip\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoctezuma%2Fheroku-flask-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoctezuma%2Fheroku-flask-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoctezuma%2Fheroku-flask-api/lists"}