{"adoption": {"forks": 1598, "observed_at": "2026-08-28T04:09:34.223644+00:00", "stars": 6012}, "canonical_url": "https://ross.abutalabs.com/products/chatgpt2api", "card": {"archived": false, "artifact_type": "service", "description": "ChatGPT官网接口纯协议的逆向实现，支持GPT-Image-2模型、文本模型，兼容OpenAI接口协议，在线批量生图/编辑图，号池管理，支持可编辑PPT/PSD文件逆向，支持导入CPA、sub2api号池 、支持接入Cherry  Studio、New Api 等软件", "domain": ["large-language-models", "artificial-intelligence", "image-processing", "apis", "self-hosted", "reverse-engineering"], "enriched": true, "function": ["llm-inference", "http-server", "api-framework", "proxy", "image-processing", "auth", "self-hosted"], "health_score": 97, "homepage": "https://linux.do", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["basketikun/chatgpt2api"], "name": "basketikun/chatgpt2api", "platform": ["self-hosted", "python", "cross-platform"], "pushed_at": "2026-07-29T08:56:51+00:00", "repo": "basketikun/chatgpt2api", "stars": 6012, "tags": ["chatgpt-reverse-engineering", "openai-compatible-api", "account-pool-management", "image-generation", "image-editing", "api-proxy", "gpt-image", "cherry-studio", "new-api", "docker", "web-server"], "topics": [], "urls": [], "use_cases": ["expose ChatGPT as an OpenAI-compatible API endpoint", "batch generate and edit images online via GPT image models", "manage a pool of ChatGPT accounts for API access", "connect Cherry Studio or New API to ChatGPT capabilities", "self-host a ChatGPT-to-API proxy with Docker", "bypass Cloudflare blocks with WARP and FlareSolverr proxies", "generate editable PPT/PSD files from ChatGPT"], "what_it_is": "A self-hosted reverse-engineered implementation of ChatGPT's official web interfaces, exposing OpenAI-compatible API endpoints for text generation, image generation, and image editing (including GPT-Image models). It includes a web panel, account pool management, imports from CPA/sub2api pools, and Docker-based deployment with optional WARP/FlareSolverr proxy support.", "when_to_avoid": ["you need a production-grade, ToS-compliant LLM API (use the official OpenAI API)", "you cannot accept the risk of account bans from reverse-engineered access", "you need commercial or high-volume usage, which the license explicitly forbids"], "when_to_choose": ["you need an OpenAI-compatible API backed by ChatGPT web accounts", "you want self-hosted image generation/editing with account pool management", "you already use tools like Cherry Studio or New API and want to plug in ChatGPT"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/chatgpt2api", "repo": "basketikun/chatgpt2api", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.223644+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:49:46.531247+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b00a2ab9821697db4b41418ad1d160dd9b9b447f6af5afc3198e6424f821e9", "fetched_at": "2026-08-28T04:09:34.223644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/basketikun/chatgpt2api"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 9, "rhythm": 92}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 136, "days_push": 35, "days_rel": 59, "gap_med": 0, "n_releases_24m": 20}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}