Awesome
ChatGPT-to-API
Create a fake API using ChatGPT's website
IMPORTANT
You will not get free support for this repository. This was made for my own personal use and documentation will continue to be limited as I don't really need documentation. You will find more detailed documentation in the Chinese docs by a contributor.
API endpoint: http://127.0.0.1:8080/v1/chat/completions.
Setup
Authentication
After 2024-04-02, accouts.txt is optional because no need authentication for gpt-3.5.
Access token and PUID(only for PLUS account) retrieval has been automated by OpenAIAuth with account email & password.
accounts.txt
- A list of accounts separated by new line
Format:
email:password
...
All authenticated access tokens and PUID will store in access_tokens.json
Auto renew access tokens and PUID after 1 day
Caution! please use unblocked ip for authentication, first login to https://chatgpt.com/
to check ip availability if you can.
HAR file pool
Currently logged in account, using the GPT-4 model and most GPT-3.5 models, you need to configure a HAR file (file with .har suffix) to complete captcha verification.
-
Use a chromium-based browser (Chrome, Edge) to open the browser developer tools (F12), switch to the Network tab, and check the preserve log option.
-
Log in to
https://chatgpt.com/
, create a new chat and select the GPT-4 model, enter any text, switch to the GPT-3.5 model, and enter any text. -
Click the Export HAR button under the Network tab to export the file
chatgpt.com.har
and place it in theharPool
folder of the same level as this program.
API Authentication (Optional)
Custom API keys for this fake API, just like OpenAI api
api_keys.txt
- A list of API keys separated by new line
Format:
sk-123456
88888888
...
Getting set up
git clone https://github.com/xqdoo00o/ChatGPT-to-API
cd ChatGPT-to-API
go build
./freechatgpt
Environment variables
SERVER_HOST
- Set to 127.0.0.1 by defaultSERVER_PORT
- Set to 8080 by defaultENABLE_HISTORY
- Set to false by default
Files (Optional)
-
proxies.txt
- A list of proxies separated by new linehttp://127.0.0.1:8888 ...
-
access_tokens.json
- A JSON array of access tokens for cycling (Alternatively, send a PATCH request to the correct endpoint){"account1":{token:"access_token1", puid:"puid1"}, "account2":{token:"access_token2", puid:"puid2"}...}
-
cookies.json
- A JSON that stores login cookies. If the OpenAI account is logged in with a third party such as Google, you can add a third-party account (also suitable for first-party account) and any password inaccounts.txt
. Modify this file as follows to login account.{ "third party username": [ { "Name": "__Secure-next-auth.session-token", "Value": "After logging into a third-party account on browser,the value of __Secure-next-auth.session-token in cookies", "Path": "/", "Domain": "", "Expires": "0001-01-01T00:00:00Z", "MaxAge": 0, "Secure": true, "HttpOnly": true, "SameSite": 2, "Unparsed": null } ] }
Admin API docs
https://github.com/xqdoo00o/ChatGPT-to-API/blob/master/docs/admin.md