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.
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.
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 the harPool
folder of the same level as this program.
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
...
git clone https://github.com/xqdoo00o/ChatGPT-to-API
cd ChatGPT-to-API
go build
./freechatgpt
SERVER_HOST
- Set to 127.0.0.1 by defaultSERVER_PORT
- Set to 8080 by defaultENABLE_HISTORY
- Set to false by defaultproxies.txt
- A list of proxies separated by new line
http://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 in accounts.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
}
]
}
https://github.com/xqdoo00o/ChatGPT-to-API/blob/master/docs/admin.md