Prices
Each model’s prices are on geekidea.ai/models and in thepricing field of GET /v1/models. Called with your API key, GET /v1/models returns your organization’s actual prices, including any custom pricing.
The price is locked when a call is accepted: a call that is queued or running when prices change still settles at the old price.
Hold, then settle
- Before a call runs, GEEKIDEA holds the most it could cost: for text, an estimate from the input size and
max_tokens; for media, the quoted price (or, for token-priced image models, a generous token estimate). - When it finishes, you are charged the actual cost and the rest of the hold is released.
- You are never charged more than the hold. If the actual cost would exceed it, the difference shows as a negative
cost_details.discount.
402 insufficient_quota. Nothing runs and nothing is charged.
When you are charged
Cost of each call
Every response’susage has cost (what you were charged, up to 8 decimal places), currency and cost_details, a breakdown into input, cached_input, output, image, video, audio and discount. The same usage appears on the final stream chunk, in GET /v1/generations/{id} and in webhooks.
GET /v1/generations/{id} also shows billing_status and any adjustments (refunds or corrections), with net_cost = cost + adjustments.
Workflows
Workflows such as short dramas and video clones cost:- Model cost: every model call the steps make, at the same price as calling that model directly with your key.
- Feature fee: a fixed price per workflow, step and unit, in US dollars. Custom model pricing for your organization does not apply to it.
GET /v1/generations/{id} with a run ID (run_…) or charge ID (wfc_…) returns usage.cost_details split into models and workflow_fee, and line_items listing each model call and each fee. In GET /v1/organization/costs with group_by=line_item, feature fees appear as their own line item, workflow_fee; model calls appear under their models.
Feature fees
Current published prices. Prices may change;GET /v1/workflows returns the current table in fees.
Short drama episode (geekidea/drama-episode)
Video clone (
geekidea/video-clone)
Skipped steps are not charged. The drama poster, the video clone’s depth extraction and voice-over have no feature fee; you pay their model cost.
Balance
available = balance − held + credit_limit. For usage and cost reports across your organization, see Organization API.
Invoices
After a UTC calendar month ends, organizations with usage or adjustments that month get one invoice. The amount is usage cost plus adjustments (refunds and corrections count in the month they happen). Charges were already taken from the balance, so the status ispaid. The current month is not invoiced; use month_to_date_cost above. Months with no usage and no adjustments are skipped.
org:billing:manage (an admin key, or a dashboard member with the billing role). GET /v1/organization/invoices/{id} returns one invoice (inv_…). An unknown id is 404 invoice_not_found.