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

闪电发卡3年前ChatGPT4703

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


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与AI结合:革命性的营销工具

随着科技的飞速发展,人工智能(AI)逐渐融入我们的日常生活和工作中。作为一种新兴的技术,ChatGPT和AI的结合已经展现出巨大的潜力,特别是在营销领域。今天,我们就来深入探讨一下ChatGPT与AI...

ChatGPT高级用法解析:如何让ChatGPT生成更加准确的回答

ChatGPT高级用法解析:如何让ChatGPT生成更加准确的回答

一般用法:我把问题输入给机器人,机器人再根据自己学习的知识给出一个准确的答案,会尝试理解你问的问题是什么以及问题上下文是什么。高级用法:既然是机器人,我们当然可以输入一些我们自己的经验给他,让他自己学...

ChatGLM:小白也可搭建属于自己的chatgpt(百度aistudio搭建全程教学)

ChatGLM:小白也可搭建属于自己的chatgpt(百度aistudio搭建全程教学)

1.项目启发最近ChatGLM-6B清华开源模型发布,之前玩ChatGBT觉得挺好玩,想着能不能自己本地用chatgpt,毕竟某些不可抗力因素使用ChatGBT比较困难,目前申请不了百度文心一言的模型...

如果让ChatGPT对线面试官会怎么样

如果让ChatGPT对线面试官会怎么样

ChatGPT工具人hello,大家好,我是java小面,今日上班摸鱼时突发奇想,如果说拿在本月突然爆火的ChatGPT,用来对线面试官的话,又会是怎么样的一个场景呢?ChatGPT的回答是否能够让面...

ChatGPT应用案例:ChatGPT处理电子表格的若干例子详解

第一问:如何实现一个在线电子表格要实现一个在线电子表格,您需要使用以下步骤:选择一种编程语言和一个Web框架来创建您的应用程序。常见的Web框架包括Ruby on Rails、Django、Flask...

交通运输行业的未来趋势:AI引领的新方向

近年来,随着科技的飞速发展,交通运输行业也在悄然发生着巨大的变革。尤其是人工智能(AI)的引入,为交通运输带来了前所未有的机遇和挑战。今天,我们就来聊聊交通运输行业的未来趋势,看看AI是如何引领这一新...

发表评论    

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