chat2api

chat2api

ChatGPT代理工具 免费GPT-3.5和高级模型支持

Chat2API是一款功能丰富的ChatGPT代理工具。它支持免账号使用GPT-3.5,通过AccessToken访问GPT-4和GPTs。该项目提供流式和非流式传输,支持多账号轮询、自动重试和Token管理。Chat2API还具备文件上传、WebUI界面和网关模式,可多机分布部署。其回复格式与官方API一致,适配多种客户端,为AI开发和应用提供便利。

Chat2APIChatGPTAPI代理免登录GPT-4Github开源项目

CHAT2API

🤖 一个简单的 ChatGPT 转 API 代理

🌟 无需账号即可免费、无限使用 GPT-3.5

💥 支持使用 AccessToken 的账号,支持 GPT-4GPT-4o/miniGPTs

🔍 回复格式与真实 API 完全一致,适配几乎所有客户端

赞助商

感谢 Capsolver 对本项目的赞助,对于市面上任何人机验证码,你可以使用 https://capsolver.com 来解决

交流群

https://t.me/chat2api

提问前请先阅读完仓库文档,尤其是常见问题部分。

提问时请提供:

  1. 启动日志截图(敏感信息打码,包括环境变量和版本号)
  2. 报错的日志信息(敏感信息打码)
  3. 接口返回的状态码和响应体

功能

最新版 v1.4.3

已完成

  • 流式、非流式传输
  • 免登录 GPT-3.5 对话
  • GPT-3.5 对话(传入模型名不包含 gpt-4,则默认使用 gpt-3.5,也就是 text-davinci-002-render-sha)
  • GPT-4 对话(传入模型名包含: gpt-4,gpt-4o,gpt-4o-mini,gpt-4-moblie 即可使用对应模型,需传入 AccessToken)
  • GPT-4 画图、代码、联网
  • 支持 GPTs(传入模型名:gpt-4-gizmo-g-*)
  • 支持 Team Plus 账号(需传入 team account id)
  • 上传图片、文件(格式为 API 对应格式,支持 URL 和 base64)
  • WebUI(http://127.0.0.1:5005,不支持登录使用, 网关副产品,因此不做维护)
  • 可作为网关使用,可多机分布部署
  • 多账号轮询,同时支持 AccessToken 和 RefreshToken
  • 请求失败重试,自动轮询下一个 Token
  • Tokens 管理,支持上传、清除
  • 定时使用 RefreshToken 刷新 AccessToken / 每次启动将会全部非强制刷新一次,每4天晚上3点全部强制刷新一次。
  • 支持文件下载,需要开启历史记录

TODO

  • 暂无,欢迎提 issue

Tokens 管理

  1. 配置环境变量 AUTHORIZATION 作为 授权码 ,然后运行程序。

  2. 访问 /tokens 或者 /{api_prefix}/tokens 可以查看现有 Tokens 数量,也可以上传新的 Tokens ,或者清空 Tokens。

  3. 请求时传入 AUTHORIZATION 中配置的 授权码 即可使用轮询的Tokens进行对话, AUTHORIZATION 可以配置多个值,用英文逗号分隔。

tokens.png

环境变量

每个环境变量都有默认值,如果不懂环境变量的含义,请不要设置,更不要传空值,字符串无需引号。

分类变量名示例值默认值描述
安全相关API_PREFIXyour_prefixNoneAPI 前缀密码,不设置容易被人访问,设置后需请求 /your_prefix/v1/chat/completions
AUTHORIZATIONyour_first_authorization,<br/>your_second_authorization[]你自己为使用多账号轮询 Tokens 设置的授权码,英文逗号分隔
AUTH_KEYyour_auth_keyNone私人网关需要加auth_key请求头才设置该项
请求相关CHATGPT_BASE_URLhttps://chatgpt.comhttps://chatgpt.comChatGPT 网关地址,设置后会改变请求的网站,多个网关用逗号分隔
PROXY_URLhttp://ip:port,<br/>http://username:password@ip:port[]全局代理 URL,出 403 时启用,多个代理用逗号分隔
EXPORT_PROXY_URLhttp://ip:port<br/>http://username:password@ip:portNone出口代理 URL,防止请求图片和文件时泄漏源站 ip
ARK0SE_TOKEN_URLhttps://example.com/token[]获取 Ark0se token 的地址
功能相关HISTORY_DISABLEDtruetrue是否不保存聊天记录并返回 conversation_id
POW_DIFFICULTY00003a00003a要解决的工作量证明难度,不懂别设置
RETRY_TIMES33出错重试次数,使用 AUTHORIZATION 会自动轮询下一个账号
ENABLE_GATEWAYtruetrue是否启用网关模式(WEBUI)
CONVERSATION_ONLYfalsefalse是否直接使用对话接口,如果你用的网关支持自动解决pow和ark0se才启用
ENABLE_LIMITtruetrue开启后不尝试突破官方次数限制,尽可能防止封号
UPLOAD_BY_URLfalsefalse开启后按照 URL+空格+正文 进行对话,自动解析 URL 内容并上传,多个 URL 用空格分隔
CHECK_MODELfalsefalse检查账号是否支持传入模型,开启后可以稍微避免4o返回3.5内容,但是会增加请求时延,且并不能解决降智问题
SCHEDULED_REFRESHfalsefalse是否定时刷新 AccessToken ,开启后每次启动程序将会全部非强制刷新一次,每4天晚上3点全部强制刷新一次。

部署

Zeabur 部署

Deploy on Zeabur

直接部署

git clone https://github.com/LanQian528/chat2api cd chat2api pip install -r requirements.txt python app.py

Docker 部署

您需要安装 Docker 和 Docker Compose。

docker run -d \ --name chat2api \ -p 5005:5005 \ lanqian528/chat2api:latest

(推荐,可用 PLUS 账号) Docker Compose 部署

创建一个新的目录,例如 chat2api,并进入该目录:

mkdir chat2api cd chat2api

在此目录中下载库中的 docker-compose.yml 文件:

wget https://raw.githubusercontent.com/LanQian528/chat2api/main/docker-compose.yml

修改 docker-compose.yml 文件中的环境变量,保存后:

docker-compose up -d

使用

  1. 在网页使用,直接访问以下地址,仅支持使用免登 GPT-3.5:
http://127.0.0.1:5005
  1. 使用 API ,支持传入 AccessToken 或 RefreshToken,可用 GPT-4, GPT-4o, GPTs:
curl --location 'http://127.0.0.1:5005/v1/chat/completions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{OpenAI APIKEY}}' \ --data '{ "model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Say this is a test!"}], "stream": true }'

将你账号的 AccessTokenRefreshToken 当作 OpenAI APIKEY 传入。

如果有team账号,可以传入 ChatGPT-Account-ID,使用 Team 工作区:

  • 传入方式一: headers 中传入 ChatGPT-Account-ID

  • 传入方式二: Authorization: Bearer <AccessToken 或 RefreshToken>,<ChatGPT-Account-ID>

如果设置了 AUTHORIZATION 环境变量,可以将设置的值当作 OpenAI APIKEY 传入进行多 Tokens 轮询。

  • AccessToken 获取: chatgpt官网登录后,再打开 https://chatgpt.com/api/auth/session 获取 accessToken 这个值。
  • RefreshToken 获取: 此处不提供获取方法。
  • 免登录 gpt-3.5 无需传入 Token。

Ark0seToken

目前支持外部服务提供 Ark0seToken

推荐使用 docker-compose 方式部署,已内置 Ark0se 服务

  1. 设置环境变量 ARK0SE_TOKEN_URL

  2. 在需要 Ark0seToken 的时候,chat2api 会向 ARK0SE_TOKEN_URL 发送 POST 请求

  3. 请按照以下格式提供外部服务:

  • 请求体:
{"blob": "rFYaxQNEApDlx/Db.KyrE79pAAFBs70CYtbM4pMNUsc7jIkLGdiDs7vziHRGe78bqWXDo0AYyq2A10qIlcTt89lBYXJqCbONC/nD8C199pEZ/c9ocVKKtM27jZQ7fyOpWd9p5qjKeXT4xEGBFpoE3Re1DwdQeijYp7VMJQyw7RYN+IDB1QEx3aKSO6aTI+ivnhw9ztfn/p1SkvAyyOhur/ArF08WQ+rXQpxpttaSQlzMsIwlYbuUUuYE2f9JrQaYG7qip1DKvju111P6wTNy4QVlMXG32VrzaOWh4nmQ0lOcZ1DmN6u2aeJZotffHV2zOOQAqqnParidTbN+qFre2t77ZwBuGKGqLyT8LeOp02GdFwcyw0kkeX+L7vwYAzBpjA5ky0r0X+i8HpzWt8QCyWzEW9kHn9LLCTwg2MOumzjb66Ad4WDe+C1bAcOKuEyXiYh+a1cWZAOdzEuxEg90yCfI7DZR94BsoDR85gEC/Og88i098u5HV7hZZEOQ6J8fmi68FSyPkN7oLCmBsZCMAZqzapNP/MkeIMExrdw7Jf/PtMrZN4bwM56mWfyIJf5h/zXu8PUajVwE9Pj/M5VtB0spZg49JNeHExosVCAB0C0JW+T8vEIwoqiY4pRQ0lbMHTQZFpU2xURTgcgh+m6g1SEYR1FY3de1XnzfiTQq1RTNJPydj5xpt6r6okr8yIJdRhmVXlQI+pS7vi3+Lls2hnpr7L+l1mcUIMPZNBCs3AUFJNpp6SwQjZkPvKggg1p+uS6PdvKRizM9O9+FKc103AhuSia8KTrvU8tWhBhCzIHCD4LNfnkjuBWSdbDttva4AEXUoPuKkQCWaBzq4lQPUIHFOM9HmNe738vVkNdAuOYffxDNegcpIxLVgZGfbgLQ="}
  • 响应体:
{"token": "45017c7bb17115f36.7290869304|r=ap-southeast-1|meta=3|metabgclr=transparent|metaiconclr=%23757575|guitextcolor=%23000000|pk=0A1D34FC-659D-4E23-B17B-694DCFCF6A6C|at=40|sup=1|rid=3|ag=101|cdn_url=https%3A%2F%2Ftcr9i.openai.com%2Fcdn%2Ffc|lurl=https%3A%2F%2Faudio-ap-southeast-1.ark0selabs.com|surl=https%3A%2F%2Ftcr9i.openai.com|smurl=https%3A%2F%2Ftcr9i.openai.com%2Fcdn%2Ffc%2Fassets%2Fstyle-manager"}

常见问题

  • 错误代码:
    • 401:当前IP不支持免登录,请尝试更换IP地址,或者在环境变量PROXY_URL中设置代理,或者你的身份验证失败。
    • 403:请在日志中查看具体报错信息。
    • 429:当前IP在1小时内请求超过限制,请稍后再试,或更换IP。
    • 500:服务器内部错误,请求失败。
    • 502:服务器网关错误,或网络不可用,请尝试更换网络环境。
  • 已知情况:
    • 许多日本IP不支持免登录,建议使用美国IP进行免登录GPT-3.5。
    • 99%的账号都支持免费GPT-4o,但开启情况取决于IP地区,目前日本和新加坡IP已知开启概率较大。
  • 环境变量AUTHORIZATION是什么?
    • 这是为chat2api设置的身份验证,设置后才能使用已保存的Tokens轮询,请求时作为APIKEY传入。
  • 如何获取AccessToken?
  • PLUS账号报错403
    • PLUS账号需要配置Ark0seToken,请按照上文说明进行配置。
  • Ark0seToken是什么,如何获取?

许可证

MIT许可证

编辑推荐精选

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多