- OpenAI의
gpt-image-2.5-flare모델로 이미지를 생성합니다. - 모든 이미지 생성을 추적하여 청구에 반영합니다.
- 고객이 생성한 이미지에 요금을 청구합니다.
- 두 가지 품질 등급인
medium및high를 처리합니다.
구축할 내용
PixelGen AI의 작동 방식은 다음과 같습니다:- 서비스: OpenAI Image API를 사용한 AI 이미지 생성
- 가격 모델: 이미지당 과금(이미지당 $0.05)
- 무료 등급: 고객당 월 10개의 무료 이미지
- 품질 옵션: 동일한 가격으로
medium및high품질 이미지 제공
- Dodo Payments 계정
- OpenAI API 액세스 권한. GPT Image 모델을 사용하려면 OpenAI에서 API Organization Verification을 요구할 수 있습니다.
- Node.js 22 이상 및 TypeScript와 Node.js에 대한 실무 지식
Step 1: Usage Meter 만들기
서비스가 생성하는 모든 이미지를 추적하는 meter를 Dodo Payments dashboard에서 만듭니다. meter는 billable event를 계산합니다.
Open the Meters Section
- Dodo Payments dashboard에 로그인합니다.
- 사이드바에서 Products → Meters로 이동합니다.
- Create Meter를 클릭합니다.
Enter the Meter Details
Image Generation Meter설명: Tracks each AI image generation request made by customers using our OpenAI image serviceEvent Name: image.generatedConfigure How Images Are Counted
imagesAdd Quality Filtering

- Enable Event Filtering을 켭니다.
- 일치 로직을 OR로 설정하여 조건 중 하나라도 일치하면 이벤트가 집계되도록 합니다.
- 첫 번째 조건을 추가합니다:
- 키:
quality - 연산자:
equals - 값:
medium
- 키:
- Add condition을 클릭하고 두 번째 조건을 추가합니다:
- 키:
quality - 연산자:
equals - 값:
high
- 키:
Create Your Meter
- 모든 설정이 위의 값과 일치하는지 확인합니다. meter는 생성한 후 수정할 수 없습니다.
- Create Meter를 클릭합니다.
Step 2: Billing Product 만들기
이미지당 $0.05의 가격과 이미지 10개의 free tier를 정의하는 product를 만듭니다. product는 meter를 billing에 연결합니다.Navigate to Products
- Dodo Payments dashboard의 사이드바에서 Products를 클릭합니다.
- Add Product를 클릭합니다.
- Pricing Type에서 Usage Based Billing을 선택합니다.
Enter Product Details
PixelGen AI - Image GenerationDescription: AI-powered image generation service with pay-per-use billingProduct Image: 명확하고 관련성 있는 이미지를 업로드합니다.Connect Your Meter

0로 설정하면 base fee 없이 usage에 대해서만 고객에게 요금을 청구합니다.그런 다음 생성한 meter를 연결합니다:- Associated Meters section으로 스크롤합니다.
- Add meters를 클릭합니다.
- dropdown에서 **“Image Generation Meter”**를 선택합니다.
- product configuration에 meter가 표시되는지 확인합니다.
Set Your Pricing

0.05, 즉 이미지당 $0.05입니다.Free Threshold: 10. 고객마다 매월 이미지 10개가 무료입니다.Save Your Product
- 설정을 검토합니다:
- Name: PixelGen AI - Image Generation
- Meter: Image Generation Meter
- Price: 이미지당 $0.05
- Free tier: 이미지 10개
- Save Changes를 클릭합니다.
Step 3: Test Purchase하기
test mode에서 product를 한 번 구매합니다. 구매하면 애플리케이션이 usage event를 전송할 customer가 생성됩니다.Get Your Payment Link
- Dodo Payments dashboard에서 Products로 이동합니다.
- “PixelGen AI - Image Generation” product를 찾습니다.
- product 옆의 Share를 클릭합니다.
- payment link를 복사합니다.
https://test.checkout.dodopayments.com/buy/pdt_IgPWlRsfpbPd5jQKezzW1?quantity=1와 같은 형태입니다.Complete a Test Purchase
- 새 browser tab에서 payment link를 엽니다.
- test payment details를 입력하고 구매를 완료합니다.
Find Your Customer ID
- Dodo Payments dashboard로 돌아갑니다.
- 사이드바에서 Sales → Customers로 이동합니다.
- test email address로 생성한 customer를 찾습니다.
- customer ID를 복사합니다.
cus_abc123def456와 같은 형태입니다.
Step 4: Sample Application 구축하기
billing을 설정하고 test customer를 생성했으므로 샘플 PixelGen AI 애플리케이션을 구축합니다. 애플리케이션은 이미지를 생성하고 billing을 위해 Dodo Payments에 보고합니다.gpt-image-2.5-flare 모델을 호출합니다. Image API는 base64로 인코딩된 이미지 데이터를 반환하므로, 샘플은 각 이미지를 PNG 파일로 저장합니다. Dodo Payments 부분(미터, product 및 image.generated usage event)은 모델에 종속되지 않습니다.Set Up Your Project
Install Dependencies
Create the Main Application
index.ts라는 이름의 file을 만들고 아래의 application code를 붙여 넣습니다..env 및 package.json입니다:
Step 5: Sample Application 테스트하기
PixelGen AI를 end to end로 테스트하고 usage가 Dodo Payments에 도달하는지 확인합니다.Set Up Your Environment
pixelgen-aidirectory에.envfile을 만듭니다.- API key를 추가합니다:
- dependency를 설치하고 app을 실행합니다:
Generate Your First Test Image
sendUsageEvent가 출력하는 request debug line은 생략했습니다:Generate a Few More Images
npm start를 한 번 실행하고 다음 prompt를 사용합니다:- “A sunset over mountains with purple clouds”
- “A steampunk coffee machine in a Victorian kitchen”
- “A friendly dragon reading a book in a library”
Check Your Dodo Payments Dashboard
- Dodo Payments dashboard를 엽니다.
- Products → Meters로 이동하여 Image Generation Meter를 엽니다.
- Events tab을 선택합니다.
- 목록에서 image generation event를 찾습니다.
- Event name:
image.generated - Customer ID: test customer ID
Verify Billing Calculations

- meter에서 Customers tab을 선택합니다.
- test customer를 찾습니다.
- Consumed Units column을 확인합니다.
Test the Billing Threshold
- 이미지를 8개 더 생성하여 총 12개로 만듭니다.
- 다시 meter의 Customers tab을 엽니다.
- 다음 값을 확인합니다:
- Consumed Units: 12
- Chargeable Units: 2 (12 − 무료 10개)
- Total Price: $0.10
문제 해결
일반적인 문제와 해결 방법은 다음과 같습니다:Events not appearing in dashboard
Events not appearing in dashboard
- Event name이 meter configuration과 정확히 일치하지 않음
- Customer ID가 account에 존재하지 않음
- API key가 유효하지 않거나 만료됨
- Network connectivity 문제
- event name이 meter와 정확히 일치하는지 확인합니다. 대소문자를 구분합니다.
- customer ID가 Dodo Payments에 존재하는지 확인합니다.
- 간단한 API call로 API key를 테스트합니다.
- network connectivity와 firewall settings를 확인합니다.