How Midjourney Bills
Each Midjourney subscription includes a monthly allowance of “Fast GPU Time”, the computing time spent on your generations. The figures below come from Midjourney’s plan comparison.- Pricing Tiers: Midjourney offers four subscription levels from $10 to $120 per month. Each includes a set amount of Fast GPU time.
- Relax Mode: Standard and higher plans include unlimited image generations in a low-priority queue after Fast time runs out, so users don’t hit a hard wall.
- Extra GPU Hours: Users can buy extra Fast GPU time for $4 per hour when they need fast results after using their monthly allowance.
- Metering in GPU Seconds: Usage is measured as the GPU time each generation takes, so complex renders cost more than simple drafts.
- Community Loop: Users can earn free GPU time by rating images, which also helps train Midjourney’s models.
What Makes It Unique
The Midjourney model ties what a user pays to the resources they consume:- GPU-time billing prices complex renders higher than simple drafts, in line with their compute cost.
- Relax Mode is an unlimited fallback that reduces churn, because users keep access after the monthly allowance runs out.
- The Fast vs Relax split encourages upgrades by selling priority processing to users who value speed.
- Extra GPU Hours give power users a mid-month top-up for high-priority capacity.
Build This with Dodo Payments
You can build this model with Dodo Payments by combining subscriptions, usage meters, and logic in your application.1
Create a Usage Meter
Create a meter that tracks the GPU seconds each customer uses.
- Event name:
gpu.fast_seconds - Aggregation: Sum, with
gpu_secondsas the Over Property
2
Create Subscription Products with Usage Pricing
Create your subscription products and add the usage meter with a Free Threshold equal to the plan’s Fast GPU allowance.
Set the price per unit to $0 on every plan, so usage above the threshold isn’t charged. Dodo Payments doesn’t stop usage at the threshold. Your application enforces the Basic plan’s hard cap and routes the other plans to Relax Mode once the meter passes the threshold.
3
Implement Application-Level Relax Mode
Relax Mode isn’t a billing feature. Your application sends requests to a slower queue when the Dodo Payments usage meter shows the customer has passed the plan’s threshold.
4
Send Usage Events (Fast Mode Only)
Send a usage event to Dodo Payments only when a generation runs in Fast mode.
5
Sell Extra Fast Hours (One-Time Top-Up)
Create a one-time payment product called “Extra Fast GPU Hour” priced at $4. When a customer buys it, raise their threshold in your application by 3,600 seconds per hour purchased.
6
Create Checkout for Subscription
Create a checkout session for the subscription plan.
Accelerate with the Time Range Ingestion Blueprint
The Time Range Ingestion Blueprint provides helpers for duration-based billing that make GPU time tracking shorter to write.durationMs, so set the meter’s Over Property to durationMs, or send durationSeconds to match a meter over seconds.
The Fast vs Relax Architecture
The two queues work by routing each request based on the customer’s current usage.- All requests go through your application.
- The application compares the customer’s Fast GPU usage with the plan’s free threshold.
- If usage is under the threshold, the request goes to the Fast queue and is metered.
- If usage is over the threshold, the request goes to the Relax queue, which is unmetered and lower priority.
- The Basic plan has no Relax fallback, so the application blocks requests once the limit is reached.
Relax Mode is an application-level pattern, not a Dodo Payments billing feature. Dodo Payments records your customers’ Fast GPU usage. Your application decides whether to block the user or send them to a slower queue.
Key Dodo Features Used
Subscriptions
Manage recurring billing and plan tiers.
Usage-Based Billing
Track and bill based on actual resource consumption.
Event Ingestion
Send high-volume usage events to the Dodo Payments API.
Meters
Define how usage events are aggregated and billed.
One-Time Payments
Sell extra hours or top-ups as one-time purchases.
Time Range Blueprint
Simplified GPU time tracking with duration-based helpers.