GEEKIDEA is pay as you go, in US dollars, with no monthly fee. Calls are charged to your organization’s balance.

Prices

Each model’s prices are on geekidea.ai/models and in the pricing 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

  1. 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).
  2. When it finishes, you are charged the actual cost and the rest of the hold is released.
  3. You are never charged more than the hold. If the actual cost would exceed it, the difference shows as a negative cost_details.discount.
If your available balance can’t cover the hold, the call is rejected up front with 402 insufficient_quota. Nothing runs and nothing is charged.

When you are charged

Cost of each call

Every response’s usage 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.
Both are held and settled per charge: one charge for each segment of steps between confirmation points. When a charge opens, the estimated cost of its segment is held; when the segment ends, you are charged the actual model cost plus the fees of the steps that succeeded, never more than the hold. Fee prices are versioned, and the version in effect when a charge opens is locked for that charge. 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 is paid. The current month is not invoiced; use month_to_date_cost above. Months with no usage and no adjustments are skipped.
Requires 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.