本教程提供了一个基于终端的应用程序的示例实现代码。您可以根据您的特定框架(React、Vue、Angular 等)修改此代码,并根据您的应用程序需求自定义用户输入方法。
- 使用 OpenAI 的 DALL-E API 生成图像
- 跟踪每次图像生成以进行计费
- 根据使用情况自动向客户收费
- 处理不同的质量层级(标准与高清)
我们要构建的内容
让我们先了解一下我们的 PixelGen AI 服务:- 服务:使用 OpenAI 的 DALL-E API 进行 AI 图像生成
- 定价模型:按图像计费(每张图像 $0.05)
- 免费层:每位客户每月 10 张免费图像
- 质量选项:标准和高清图像(为简单起见,价格相同)
在我们开始之前,请确保您拥有:
- 一个 Dodo Payments 账户
- 访问 OpenAI 的 API
- 对 TypeScript/Node.js 的基本熟悉
第一步:创建您的使用计量器
我们将首先在您的 Dodo Payments 仪表板中创建一个计量器,以跟踪我们的服务生成的每张图像。可以将其视为跟踪可计费事件的“计数器”。
1
打开计量器部分
- 登录到您的 Dodo Payments 仪表板
- 在左侧边栏中点击 计量器
- 点击 创建计量器 按钮
2
填写基本计量器信息
现在我们将输入 PixelGen AI 服务的具体细节:计量器名称:准确复制并粘贴 →
Image Generation Meter描述:复制此内容 → Tracks each AI image generation request made by customers using our DALL-E powered service事件名称:这非常重要 - 精确复制 → image.generated3
配置我们如何计数图像
设置聚合(计量器如何计数我们的事件):聚合类型:从下拉菜单中选择 计数测量单位:输入 →
images我们使用 “计数” 是因为我们希望按生成的图像计费,而不是按大小或生成时间。每成功生成一张图像 = 1 个可计费单位。
4
添加质量过滤

- 启用事件过滤:将此选项切换为 开启
- 过滤逻辑:选择 或(这意味着“如果这些条件中的任何一个为真,则计数”)
- 添加第一个条件:
- 属性键:
quality - 比较器:
equals - 值:
standard
- 属性键:
- 点击“添加条件” 以添加第二个条件:
- 属性键:
quality - 比较器:
equals - 值:
hd
- 属性键:
5
创建您的计量器
- 仔细检查所有设置是否与上述值匹配
- 点击 创建计量器
计量器已创建! 您的 “图像生成计量器” 现在可以开始计数图像生成。接下来,我们将其连接到计费产品。
第二步:创建您的计费产品
现在我们需要创建一个定义我们定价的产品(每张图像 $0.05,包含 10 张免费图像)。这将我们的计量器与实际计费连接起来。1
导航到产品
- 在您的 Dodo Payments 仪表板中,点击左侧边栏中的 产品
- 点击 创建产品
- 选择 基于使用的 作为产品类型
2
输入产品详细信息
填写以下确切值以用于我们的 PixelGen AI 服务:产品名称:复制此内容 →
PixelGen AI - Image Generation描述:复制此内容 → AI-powered image generation service with pay-per-use billing产品图像:上传一张清晰、相关的图像。这些将出现在客户发票上,因此请确保它们清晰且专业。
3
连接您的计量器

0 以确保客户仅根据其使用情况收费,而没有基础费用。现在,链接您刚刚创建的计量器:- 向下滚动到 关联计量器 部分
- 点击 添加计量器
- 从下拉菜单中选择 “图像生成计量器”(您之前创建的那个)
- 确认它出现在您的产品配置中
您的计量器现在已成功连接到此产品。
4
设置您的定价
在这里我们定义我们的商业模型:
每单位价格:输入 →

0.05(这是每张图像 $0.05)免费阈值:输入 → 10(客户每月获得 10 张免费图像)5
保存您的产品
- 审查所有设置:
- 名称:PixelGen AI - 图像生成
- 计量器:图像生成计量器
- 价格:每张图像 $0.05
- 免费层:10 张图像
- 点击 保存更改
产品已创建! 您的计费现已配置。客户将根据其图像生成使用情况自动收费。
第三步:进行测试购买
在我们开始接收使用事件之前,我们需要进行一次测试购买。1
获取您的支付链接
- 在您的 Dodo Payments 仪表板中,转到 产品
- 找到您的 “PixelGen AI - 图像生成” 产品
- 点击产品旁边的 分享 按钮
- 复制出现的支付链接
https://test.checkout.dodopayments.com/buy/pdt_IgPWlRsfpbPd5jQKezzW1?quantity=12
完成测试购买
- 在新浏览器标签中打开支付链接
- 输入测试支付详细信息并完成购买。
成功支付后,您将获得一个客户 ID,我们将在我们的应用程序代码中使用它。
3
找到您的客户 ID
- 返回到您的 Dodo Payments 仪表板
- 在左侧边栏中导航到 客户
- 找到您刚刚创建的客户(使用测试电子邮件)
- 复制客户 ID - 它看起来像
cus_abc123def456
保存此客户 ID - 我们将在示例应用程序代码中硬编码它,以确保事件被正确跟踪。
第四步:构建示例应用程序
现在我们已经完成了计费设置并创建了测试客户。让我们构建示例 PixelGen AI 应用程序,该应用程序生成图像并自动跟踪计费使用情况。1
设置您的项目
创建一个新目录并初始化项目:
2
安装依赖项
安装我们需要的包:
3
创建主应用程序
创建一个名为
index.ts 的文件,并复制此完整应用程序代码:第五步:测试您的示例应用程序
是时候测试我们的示例 PixelGen AI 服务并查看计费的实际效果了!让我们确保一切正常工作。1
设置您的环境
首先,确保您已配置好所有内容:
- 在您的
.env文件中创建一个pixelgen-ai目录 - 添加您的实际 API 密钥:
- 安装依赖项并运行应用程序:
2
生成您的第一个测试图像
当应用程序启动时,您将看到:尝试这个提示:“一只可爱的机器人在画风景”您应该看到如下输出:
如果您看到 “使用事件成功发送”,则您的计费集成正常工作!
3
生成更多图像
让我们生成 2-3 张更多图像以测试多个事件。尝试这些提示:
- “紫色云彩下的山脉日落”
- “维多利亚厨房中的蒸汽朋克咖啡机”
- “一只友好的龙在图书馆里看书”
4
检查您的 Dodo Payments 仪表板
现在让我们验证事件是否被接收:
- 打开您的 Dodo Payments 仪表板
- 转到 使用计费 → *计量器 → 图像生成计量器
- 点击 事件 选项卡
- 您应该看到列出的图像生成事件
- 事件名称:
image.generated - 客户 ID:您的测试客户 ID
您应该看到每张生成的图像都有一个事件!
5
验证计费计算
让我们检查使用计数是否正常工作:

- 在您的计量器中,转到 客户 选项卡
- 找到您的测试客户
- 检查 “消耗单位” 列
6
测试计费阈值
让我们超过免费层以查看计费的实际效果:
- 生成 8 张更多图像(以达到总共 12 张)
- 再次检查您的计量器仪表板
- 您现在应该看到:
- 消耗单位:12
- 可计费单位:2(12 - 10 免费)
- 计费金额:$0.10
成功! 您的基于使用的计费正常工作。客户将根据其实际图像生成使用情况自动收费。
故障排除
常见问题及其解决方案:事件未出现在仪表板上
事件未出现在仪表板上
可能的原因:
- 事件名称与计量器配置不完全匹配
- 客户 ID 在您的账户中不存在
- API 密钥无效或已过期
- 网络连接问题
- 验证事件名称是否与计量器配置完全匹配(区分大小写)
- 检查客户 ID 是否存在于 Dodo Payments 中
- 使用简单的 API 调用测试 API 密钥
- 检查网络连接和防火墙设置
恭喜!您构建了 PixelGen AI
您已成功创建了一个用于 AI 图像生成的基于使用计费的代码片段!以下是您完成的内容:使用计量器
创建了 “图像生成计量器”,跟踪每个图像生成事件
计费产品
配置了每张图像 $0.05 的定价,每月 10 张免费图像
AI 应用程序
构建了一个使用 OpenAI 的 DALL-E 生成图像的工作 TypeScript 应用程序
自动计费
集成了实时事件跟踪,自动向客户收费