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

闪电发卡2年前ChatGPT3510

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


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时发了消息没有反应,并且搜索框变空了导致无法使用,接下来闪电发卡就分析一下是什么原因。根本原因:是因为官方前端更新,后端接口部分报错,老用户使用Alpha测试中文语言...

购买ChatGPT Plus账号vs共享订阅:哪个更经济实惠?

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

ChatGPT性能测试感受分享,以及ChatGPT的使用场景分析

ChatGPT性能测试感受分享,以及ChatGPT的使用场景分析

体验了一下最近火出圈的 ChatGPT,聊聊使用感受。没用之前,看网上直接吹爆,什么“可以自己写代码、debug”,“制定了毁灭人类的计划”。于是赶紧去试了下。结果预期太高,反倒有些失望。别说毁灭人类...

购买GPT-4.5共享账号的优势与风险:你需要知道的一切

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

GPT-4o全面免费开放,所有用户均可使用

GPT-4o全面免费开放,所有用户均可使用

OpenAI近日宣布,其最新的旗舰人工智能模型GPT-4o现已全面推送给所有用户,包括免费用户,免费用户可以有限使用GPT4o模型,包括联网,识图绘图,文件上传,高级数据分析,GPTs(能使用但无法创...

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

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

发表评论    

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