Skip to main content
要让您的编码代理编写集成,请安装 Dodo Agent Plugin。它会将 Dodo Payments 技能和 MCP 服务器添加到 Claude Code、Codex CLI、Cursor、VS Code / GitHub Copilot、Kiro 和 OpenCode 中。
您将构建 PixelGen AI,这是一个示例 AI 图像生成服务,使用基于使用量的计费方式按图像向客户收费。您将创建计费 Meter、产品以及示例应用代码;应用每生成一张图像,就会将其报告给 Dodo Payments。
本教程提供终端应用的示例代码。您可以根据所使用的框架(例如 React、Vue 或 Angular),以及应用收集用户输入的方式,对代码进行调整。
完成后,你将拥有一个可正常运行的示例服务,该服务可以:
  • 使用 OpenAI 的 gpt-image-2.5-flare 模型生成图像。
  • 跟踪每次图像生成,以便进行计费。
  • 向客户收取其生成图像的费用。
  • 处理两个质量层级:medium 和 high。

我们要构建的内容

PixelGen AI 的工作方式如下:
  • 服务:使用 OpenAI Image API 生成图像
  • 定价模式:按图像计费(每张图像 $0.05)
  • 免费层级:每位客户每月可免费生成 10 张图像
  • 质量选项:medium 和 high 质量的图像,价格相同
开始之前,你需要准备:
  • 一个 Dodo Payments 账户。
  • OpenAI API 的访问权限。在使用 GPT Image 模型之前,OpenAI 可能要求完成 API Organization Verification。
  • Node.js 22 或更高版本,以及 TypeScript 和 Node.js 的实际使用经验。

第 1 步:创建 Usage Meter

在 Dodo Payments dashboard 中创建一个 Meter,用于跟踪服务生成的每张图像。Meter 会统计可计费事件。
Dodo Payments dashboard 中的 Create Meter 表单
您要构建的内容:一个名为 “Image Generation Meter” 的 Meter,用于统计每次图像生成。
1

Open the Meters Section

  1. 登录 Dodo Payments dashboard。
  2. 在侧边栏中转到 Products → Meters。
  3. 点击 Create Meter。
Meter 表单随即打开。
2

Enter the Meter Details

输入 PixelGen AI 的详细信息:Meter Name:Image Generation Meter描述:Tracks each AI image generation request made by customers using our OpenAI image serviceEvent Name:image.generated
事件名称 image.generated 必须与应用代码发送的事件名称一致。事件名称区分大小写。
3

Configure How Images Are Counted

设置聚合方式,用于控制 Meter 如何合并事件:Aggregation Type:CountMeasurement Unit:images
Count 按生成的图像数量计费,而不是按大小或生成时间计费。每张成功生成的图像都是一个可计费单位。
4

Add Quality Filtering

Meter 表单中的事件过滤,其中两个质量条件通过 OR 连接
仅统计真实图像,不统计测试运行或格式错误的事件:
  1. 开启 Enable Event Filtering。
  2. 将匹配逻辑设置为 OR,这样当任意条件匹配时,事件就会被计数。
  3. 添加第一个条件:
    • Key:quality
    • Operator:equals
    • Value:medium
  4. 点击 Add condition,然后添加第二个条件:
    • Key:quality
    • Operator:equals
    • Value:high
使用此筛选器,计量器只会统计质量为 medium 或 high 的事件,并忽略测试事件或格式错误的事件。
5

Create Your Meter

  1. 检查每项设置是否与上述值一致。Meter 创建后无法编辑。
  2. 点击 Create Meter。
Meter 已创建。 “Image Generation Meter” 已准备好统计图像生成次数。接下来,将它连接到计费产品。

第 2 步:创建计费产品

创建一个定义定价的产品:每张图像 $0.05,并提供 10 张免费图像。该产品会将 Meter 连接到计费功能。
您要构建的内容:一个名为 “PixelGen AI - Image Generation” 的产品,每位客户每月前 10 张图像免费,之后每张收费 $0.05。
1

Navigate to Products

  1. 在 Dodo Payments dashboard 中,点击侧边栏的 Products。
  2. 点击 Add Product。
  3. 在 Pricing Type 下选择 Usage Based Billing。
使用此定价类型时,Dodo Payments 会根据 Meter 使用量计费,而不是收取固定订阅价格。
2

Enter Product Details

输入以下值:Product Name:PixelGen AI - Image GenerationDescription:AI-powered image generation service with pay-per-use billingProduct Image:上传清晰且相关的图像。
名称和描述会显示在客户发票上。
3

Connect Your Meter

产品表单中的 Usage Based Billing 定价和 Associated Meters 部分
确认产品的定价类型为 Usage Based Billing。将 Price 设置为 0,这样客户只需按使用量付费,无基础费用。然后连接您创建的 Meter:
  1. 滚动到 Associated Meters 部分。
  2. 点击 Add meters。
  3. 从下拉菜单中选择 “Image Generation Meter”。
  4. 确认 Meter 已显示在产品配置中。
Meter 已连接到产品。
4

Set Your Pricing

定义每张图像的价格和免费层级:
显示每单位价格和免费阈值字段的 Meter 定价
Price per unit:0.05,即每张图像 $0.05。Free Threshold:10。每位客户每月可免费生成 10 张图像。
计费方式:如果客户一个月生成 25 张图像,则需要支付 15 张图像的费用(25 − 10 张免费图像)。15 × $0.05 = $0.75。
5

Save Your Product

  1. 检查设置:
    • 名称:PixelGen AI - Image Generation
    • Meter:Image Generation Meter
    • 价格:每张图像 $0.05
    • 免费层级:10 张图像
  2. 点击 Save Changes。
产品已创建。 计费已配置完成,客户将按照其生成的图像数量付费。

第 3 步:进行测试购买

在 test mode 中购买一次产品。此次购买会创建应用发送使用量事件所需的客户。
1

Get Your Payment Link

  1. 在 Dodo Payments dashboard 中转到 Products。
  2. 找到 “PixelGen AI - Image Generation” 产品。
  3. 点击产品旁边的 Share。
  4. 复制 payment link。
payment link 类似于 https://test.checkout.dodopayments.com/buy/pdt_IgPWlRsfpbPd5jQKezzW1?quantity=1。
2

Complete a Test Purchase

  1. 在新的浏览器标签页中打开 payment link。
  2. 输入 测试支付信息 并完成购买。
支付成功后,此次购买会创建一个客户。应用代码会使用该客户的 ID。
3

Find Your Customer ID

  1. 返回 Dodo Payments dashboard。
  2. 在侧边栏中转到 Sales → Customers。
  3. 根据测试电子邮件地址找到您创建的客户。
  4. 复制客户 ID。它类似于 cus_abc123def456。
保存此客户 ID。示例应用会在代码中设置该 ID,因此每个事件都会记录到此客户名下。

第 4 步:构建示例应用

设置好计费并创建测试客户后,构建示例 PixelGen AI 应用。该应用会生成图像,并将其报告给 Dodo Payments 以进行计费。
该示例通过 Image API 调用 OpenAI 的 gpt-image-2.5-flare 模型。Image API 返回 Base64 编码的图像数据,因此该示例会将每张图像保存为 PNG 文件。Dodo Payments 部分(计量器、产品和 image.generated 使用事件)不依赖于模型。
1

Set Up Your Project

创建目录并初始化项目:
2

Install Dependencies

安装软件包:
3

Create the Main Application

创建名为 index.ts 的文件,并粘贴下面的应用代码。
完整的 PixelGen AI 应用(包含计费),以及相应的 .env 和 package.json:

第 5 步:测试示例应用

端到端测试 PixelGen AI,并观察使用量是否到达 Dodo Payments。
您要测试的内容:生成几张图像,确认事件已到达 Dodo Payments,并检查计费计算。
1

Set Up Your Environment

  1. 在 pixelgen-ai 目录中创建一个 .env 文件。
  2. 添加您的 API keys:
  1. 安装依赖并运行应用:
使用真实的 API keys,并将 index.ts 中硬编码的客户 ID 替换为第 3 步中的客户 ID。
2

Generate Your First Test Image

应用启动时会输出:
输入此提示词:“A cute robot painting a landscape”输出如下所示。sendUsageEvent 输出的请求调试行已省略:
如果输出包含 “Usage event sent successfully”,则计费集成正常工作。
3

Generate a Few More Images

再生成两到三张图像,以测试多个事件。每张图像运行一次 npm start,并使用以下提示词:
  1. “A sunset over mountains with purple clouds”
  2. “A steampunk coffee machine in a Victorian kitchen”
  3. “A friendly dragon reading a book in a library”
每次都检查是否显示 “Usage event sent successfully” 消息。
4

Check Your Dodo Payments Dashboard

确认 Dodo Payments 收到这些事件:
  1. 打开 Dodo Payments dashboard。
  2. 转到 Products → Meters,然后打开 Image Generation Meter。
  3. 选择 Events 标签页。
  4. 在列表中找到您的图像生成事件。
需要查找的内容:
  • Event name:image.generated
  • Customer ID:您的测试客户 ID
列表中应当为您生成的每张图像各显示一个事件。
5

Verify Billing Calculations

检查使用量计数:
Meter 的 Customers 标签页,显示每位客户的已消耗单位
  1. 在 Meter 中选择 Customers 标签页。
  2. 找到您的测试客户。
  3. 检查 Consumed Units 列。
6

Test the Billing Threshold

超过免费层级以查看计费:
  1. 再生成 8 张图像,使总数达到 12 张。
  2. 再次打开 Meter 的 Customers 标签页。
  3. 检查以下值:
    • Consumed Units:12
    • Chargeable Units:2(12 − 10 张免费图像)
    • Total Price:$0.10
基于使用量的计费正常工作。 客户将为其生成的图像付费。

故障排除

常见问题及解决方法:
可能原因:
  • 事件名称与 Meter 配置不完全匹配
  • 客户 ID 不存在于您的账户中
  • API key 无效或已过期
  • 网络连接问题
解决方法:
  1. 检查事件名称是否与 Meter 完全匹配。事件名称区分大小写。
  2. 检查客户 ID 是否存在于 Dodo Payments 中。
  3. 使用简单的 API 调用测试 API key。
  4. 检查网络连接和防火墙设置。

恭喜!您已构建 PixelGen AI

您已构建一个采用基于使用量计费的示例 AI 图像生成器:

Usage Meter

一个名为 “Image Generation Meter” 的 Meter,用于统计每次图像生成事件。

Billing Product

每张图像 $0.05,每月前 10 张图像免费。

AI Application

一个使用 OpenAI image API 生成图像的 TypeScript 应用。

Automated Billing

事件跟踪会在每张图像生成后报告该图像,因此客户会按照使用量付费。
最后修改于 2026年9月28日