查询OpenAI账号APIKey可用余额、使用量和使用明细接口,用python实现

闪电发卡3年前ChatGPT4552

现在可以使用以下接口进行实现


Python


apikey = ""
    subscription_url = "https://api.openai.com/v1/dashboard/billing/subscription"
    headers = {
        "Authorization": "Bearer " + apikey,
        "Content-Type": "application/json"
    }
    subscription_response = requests.get(subscription_url, headers=headers)
    if subscription_response.status_code == 200:
        data = subscription_response.json()
        total = data.get("hard_limit_usd")
    else:
        return subscription_response.text
 
    # start_date设置为今天日期前99天
    start_date = (datetime.datetime.now() - datetime.timedelta(days=99)).strftime("%Y-%m-%d")
    # end_date设置为今天日期+1
    end_date = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")
    billing_url = f"https://api.openai.com/v1/dashboard/billing/usage?start_date={start_date}&end_date={end_date}"
    billing_response = requests.get(billing_url, headers=headers)
    if billing_response.status_code == 200:
        data = billing_response.json()
        total_usage = data.get("total_usage") / 100
        daily_costs = data.get("daily_costs")
        days = min(5, len(daily_costs))
        recent = f"最近{days}天使用情况  \n"
        for i in range(days):
            cur = daily_costs[-i-1]
            date = datetime.datetime.fromtimestamp(cur.get("timestamp")).strftime("%Y-%m-%d")
            line_items = cur.get("line_items")
            cost = 0
            for item in line_items:
                cost += item.get("cost")
            recent += f"\t{date}\t{cost / 100} \n"
    else:
        return billing_response.text
 
    return f"\n总额:\t{total:.4f}  \n" \
                f"已用:\t{total_usage:.4f}  \n" \
                f"剩余:\t{total-total_usage:.4f}  \n" \
                f"\n"+recent

输出结果如下:


总额: 18.0000


已用: 0.4737


剩余: 17.5263


最近5天使用情况


2023-04-28 0.0


2023-04-27 0.0


2023-04-26 0.0


2023-04-25 0.0


2023-04-24 0.0


可访问 https://aichat.xingtupai.com 查看示例

余额查询方法可参考:https://www.chatgptzh.com/post/325.html


相关文章

让ChatGPT生成图片的方法和指令教程

让ChatGPT生成图片的方法和指令教程

我们都知道ChatGPT可以生成文本,但如果让他生成图片就会显示如下的声明:但通过这个教程,你却可以在ChatGPT内实现这样的效果,让ChatGPT直接生成对应的图片:ChatGPT按照指令生成对应...

如何在向 ChatGPT 发送 API 请求之前计算令牌

如何在向 ChatGPT 发送 API 请求之前计算令牌

在向 ChatGPT 发送 API 请求之前,了解令牌的计算方式非常重要。令牌是直接影响 API 限制和成本的文本片段。因此,您需要了解令牌的确切数量并管理成本,同时遵守 API 限制。如何在向 Ch...

GPT 4.0与4.5性能对比:购买前你需要知道的关键区别

闪电发卡ChatGPT和Claude产品推荐: ChatGPT Pro共享账号 ChatGPT Pro独享账号 ChatGPT独享账号 Claude Pr...

从GPT-1到GPT-4,再到未来的GPT-5,一文带你了解GPT的前世今生和未来!

从GPT-1到GPT-4,再到未来的GPT-5,一文带你了解GPT的前世今生和未来!

引言ChatGPT爆火的余热还没退去,GPT-4又横空出世,各大媒体都争相报道,朋友圈也在不断刷屏,打工人更是感叹饭碗要被AI夺走了!作为一名理性吃瓜群众我们还是得去了解一下GPT的过去、现在和未来,...

用ChatGPT帮你写产品文档:如何使用ChatGPT做好产品经理

用ChatGPT帮你写产品文档:如何使用ChatGPT做好产品经理

一、为什么是产品助理我想让GPT成为我的产品助理,那为什么不是GPT直接成为产品经理呢?因为通过我大概近几个月的使用,我认为GPT暂时还不会直接取代产品经理。产品经理是需要依据用户需求、业务环境和技术...

ChatGPT杀疯了,这人工智能也太离谱了吧:ChatGPT注册教程和使用测试体验

ChatGPT杀疯了,这人工智能也太离谱了吧:ChatGPT注册教程和使用测试体验

这几天被ChatGPT刷屏,各大网站平台都能看到关于它的文章和视频,上线短短5天,用户就已经突破了100万,听闻是一款非常强大的人工智能问答应用,能够写代码、改bug、生成文案、搜索问题、日常发邮件、...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。