Skip to content

Models Catalog

Complete reference of all AI models available through the FOTOhub API. The platform provides access to 250+ priced models from 10+ providers covering image generation, video creation, chat/LLM, music, audio, and visual analysis.

Two endpoints describe the catalog and they answer different questions. GET /v1/models lists what you can call — ids, capabilities, rate limits. GET /v1/pricing lists what each call costs, in USD, from the table the wallet actually debits. For prices, /v1/pricing is the source of truth; see the warning below.

List Models

Retrieve the full catalog of available models or filter by category.

Endpoint

GET /v1/models

Query Parameters

ParameterTypeDescription
categorystringFilter by category: image, video, text, audio
includeInactivebooleanInclude retired/inactive models in the response (default false)

Response Format

json
{
  "models": [
    {
      "id": "imagen-4-standard",
      "name": "Imagen 4 Standard",
      "provider": "Google Vertex AI",
      "category": "image",
      "description": "Google Imagen 4 Standard image generation",
      "pricing_type": "request",
      "input_price_per_1k_tokens": null,
      "output_price_per_1k_tokens": null,
      "request_price": 0.1206,
      "currency": "USD",
      "request_limit_per_minute": 60,
      "token_limit_per_minute": null,
      "context_window": null,
      "max_output_tokens": null,
      "supports_batch": false,
      "is_active": true,
      "features": {},
      "metadata": {},
      "price_unit": "request",
      "request_price_per": "one request"
    }
  ]
}

The response is a flat { "models": [...] } array. Each model exposes pricing_type (request for per-call pricing, or token for per-token models), the relevant price field (request_price, or input_price_per_1k_tokens / output_price_per_1k_tokens), plus rate-limit and capability fields. Use ?category= to filter; the catalog currently returns models across the image, video, text, and audio categories.

Read price_unit, not pricing_type, to know what a price buys

pricing_type only separates token billing from everything else. It says request on all 56 video models — but their request_price is per second of output, so multiplying by the clip length is the difference between quoting a 5s clip correctly and quoting it at a fifth of its price.

Every row therefore carries price_unit (machine-readable) alongside request_price_per (the same thing in words):

price_unitrequest_price buysApplies to
requestone requestimage generation, editing, analysis
secondone second of output videoevery video model
minuteone minute of audio — output for music, input for transcription, audio-translation, audio-mastering, audio-stemsaudio
1k_characters1000 input characterstext-to-speech
1k_tokens1000 tokens; read input_price_per_1k_tokens / output_price_per_1k_tokens instead, since request_price is null herechat/LLM
python
price = model["request_price"]
if model["price_unit"] == "second":
    price *= duration_seconds      # a 5s video costs 5x request_price

All prices are USD. currency is always "USD" on this endpoint.

GET /v1/models prices are display-only — do not bill from them

This endpoint reads a separate catalog table (api_models) that nothing charges from. Its rows are stored in PLN and divided by the day's NBP rate on the way out, so the figure you get here is a converted approximation that can and does differ from what you are actually charged.

GET /v1/pricing is the authoritative price surface. It serves the same table the wallet debits from, in USD, with provider_cost_usd beside every price_usd and a verified flag telling you whether the figure was read off a provider invoice. The per-request truth is the billing object on the response of the call itself.

The tables further down this page are quoted from GET /v1/pricing, not from /v1/models.

Code Example

python
from fotohub import FotoHub

client = FotoHub(api_key="fh_live_your_api_key")

# List all image models
models = client.list_models(category="image")
for m in models:
    print(f"{m['id']}: {m['name']} ({m['request_price']} {m['currency']})")

# Find the cheapest flat-priced model. Compare on price_unit, not
# pricing_type -- a per-second video model also reports "request".
per_request = [m for m in models if m["price_unit"] == "request"]
cheapest = min(per_request, key=lambda m: m["request_price"])
print(f"Cheapest: {cheapest['name']} at {cheapest['request_price']} {cheapest['currency']}")
typescript
import { FotoHub } from "fotohub";

const client = new FotoHub({ apiKey: "fh_live_your_api_key" });

// List image models
const models = await client.listModels("image");
models.forEach(m => {
  console.log(`${m.id}: ${m.name} (${m.request_price} ${m.currency})`);
});

// Find the cheapest flat-priced model. Compare on price_unit, not
// pricing_type -- a per-second video model also reports "request".
const perRequest = models.filter(m => m.price_unit === "request");
const cheapest = perRequest.sort((a, b) => a.request_price - b.request_price)[0];
console.log(`Cheapest: ${cheapest.name} at ${cheapest.request_price} ${cheapest.currency}`);
go
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
)

func main() {
    req, _ := http.NewRequest("GET", "https://apis.fotohub.app/v1/models?category=image", nil)
    req.Header.Set("Authorization", "Bearer "+os.Getenv("FOTOHUB_API_KEY"))

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)

    var result struct {
        Models []struct {
            ID           string  `json:"id"`
            Name         string  `json:"name"`
            PricingType  string  `json:"pricing_type"`
            PriceUnit    string  `json:"price_unit"`
            RequestPrice float64 `json:"request_price"`
            Currency     string  `json:"currency"`
        } `json:"models"`
    }
    json.Unmarshal(body, &result)

    for _, m := range result.Models {
        fmt.Printf("%s: %s (%.2f %s)\n", m.ID, m.Name, m.RequestPrice, m.Currency)
    }
}
bash
# List all active models
curl -X GET "https://apis.fotohub.app/v1/models" \
  -H "Authorization: Bearer fh_live_your_api_key"

# List only image generation models
curl -X GET "https://apis.fotohub.app/v1/models?category=image" \
  -H "Authorization: Bearer fh_live_your_api_key"

# Include retired/inactive models
curl -X GET "https://apis.fotohub.app/v1/models?includeInactive=true" \
  -H "Authorization: Bearer fh_live_your_api_key"

Pricing Notes

Every price on this page is USD, charged against your prepaid wallet balance. There is no credit path in the API: credits belong to a fotohub.app subscription and cannot pay for an API call, so an account with 5 000 credits and a $0.00 balance gets a 402 on every request. Earlier revisions of this page said credits were consumed first and quoted a conversion of "1 credit = $0.0536" — there is no such conversion, and nothing in the API ever consulted it.

  • Margin is 1.0. Prices are the provider's own rate, 1:1. Every entry in GET /v1/pricing carries provider_cost_usd next to price_usd so you can verify it.
  • Amounts are held to 6 decimals. A cheap call can legitimately cost $0.000398.
  • verified: true means the rate came off the provider's price list or an invoice we hold; false means it is our recorded copy and has not been reconciled. GET /v1/pricing/audit lists which is which.
  • The meter varies by category — per image, per second, per 1K output tokens, per 1M tokens, per 1K characters, per minute, or per GB-month. Read unit on the price; you cannot infer it from the model name.
  • Some image models are resolution-stepped. Their price carries tiers_usd ({"1K": 0.03, "2K": 0.075, "4K": 0.255} on flux-2-pro), and the flat price_usd is the top tier — which is what you are billed if you omit image_size.

Image Generation Models

Every price in this section is USD per delivered image, quoted from GET /v1/pricing. Where a model carries tiers_usd, all three steps are shown — and omitting image_size bills the top one, which on flux-2-pro is 8.5x the 1K price. Send the tier you want.

FOTOhub — IDA Q 1.0

Model IDNamePrice (USD)Unit
ida-q-imageIDA Q 1.00.00per image, async — see note

IDA Q 1.0 — FOTOhub's proprietary image generation model, self-hosted on our own GPU infrastructure. Best-in-class text rendering, native multilingual prompts, top-5 worldwide on the DesignArena benchmark. It is the one model in the catalog with no provider invoice behind it — we own the GPUs, so the rate is $0.00 and /v1/pricing reports it as such. It is not a promotion and it is not a rounding artefact: an IDA Q render deducts nothing from your wallet.

Generation is asynchronous: submit returns 202 with a job_id, then poll GET /v1/ai/generate/image/ida-q/{job_id} until it completes (30s–3.5min depending on resolution). Renders at up to 2K — a 3K/4K request is capped to 2K rather than being priced or rendered above it. See the full IDA Q 1.0 reference for the polling contract and prompt-engine details.

Google — Imagen

Model IDNamePrice (USD)Unit
imagen-3-fastImagen 3 Fast0.020per image ✅ verified
imagen-4-fastImagen 4 Fast0.032154per image
imagen-3-standardImagen 3 Standard0.042872per image
imagen-4-standardImagen 4 Standard0.080386per image
imagen-4-ultraImagen 4 Ultra0.160772per image

Recommended: imagen-4-standard -- Best balance of quality and cost for general-purpose photorealistic generation.

Imagen renders at most 2K

Every model in this family is capped to 2K before it is priced or forwarded, so a 4K request renders 2K and is billed 2K. There is no 4K Imagen tier to buy — for native 4K use gemini-3-pro-image or a SeedDream model. imagen-3-capability is not a callable id on /v1/ai/generate/image; the editing model is reached through POST /v1/ai/edit/image instead (see below).

Google — Gemini (Nano Banana family)

Gemini's native multimodal image models — text-to-image, image-to-image, and multi-image composition (up to 10 reference images) in one model. Four of the five are resolution-stepped.

Model IDName1K2K4K
gemini-3.1-flash-lite-imageNano Banana 2 Lite0.03360.03360.0336
gemini-2.5-flash-imageNano Banana0.0390.0390.039
gemini-3.1-flash-imageNano Banana 20.0670.1010.151
gemini-3.1-flash-image-previewNano Banana 2 (Preview)0.0670.1010.151
gemini-3-pro-imageNano Banana Pro0.1340.1340.24

The brand names nano-banana-pro and nano-banana-fast are accepted as aliases and route to gemini-3-pro-image and gemini-2.5-flash-image respectively.

Recommended: gemini-3-pro-image ("Nano Banana Pro") -- Advanced reasoning, precise in-image text rendering, and composition control up to 4K. Note that 1K and 2K cost the same here, so 2K is the better buy at that price.

Budget pick: gemini-3.1-flash-lite-image -- Cheapest Gemini image model and flat-rated across all three tiers, so 4K costs what 1K does.

OpenAI — GPT Image

Bought through Azure OpenAI. This is the steepest resolution grid in the catalog: 4K is 15–35x the 1K price on every model in the family, so image_size is not optional here in any practical sense.

Model IDName1K2K4K
gpt-image-1-miniGPT Image 1 Mini0.0050.0110.036
gpt-image-2GPT Image 20.0060.0530.211
gpt-image-1.5GPT Image 1.50.0090.0340.133
gpt-image-1GPT Image 10.0110.0420.167

Use case: Strong text rendering in images, creative illustrations, premium photorealism. gpt-image-2 is both the cheapest 1K render in the family and the most expensive 4K one — pick the tier deliberately.

dall-e-3 and dall-e-3-hd are retired

Both are refused with 400 before authentication, so nothing is charged. OpenAI retired DALL-E 3 in favour of the GPT Image family, and this deployment buys that family through Azure where no DALL-E deployment exists. The error names the replacement: use gpt-image-1 in place of dall-e-3, and gpt-image-1.5 in place of dall-e-3-hd. They may still appear in GET /v1/models — that catalog is display-only and has not caught up.

Microsoft — MAI-Image

Model IDNamePrice (USD)Unit
mai-image-2.5-flashMAI-Image 2.5 Flash0.022per image, flat across 1K/2K/4K
mai-image-2.5MAI-Image 2.50.037per image, flat across 1K/2K/4K
mai-image-2.5-proMAI-Image 2.5 Pro0.108544per image, flat across 1K/2K/4K

Use case: Azure AI flagship image models with prompt rewriting. All three are flat-rated, so resolution costs nothing extra — -flash and the standard tier are among the cheapest large renders on the platform. -pro adds the strongest photorealism of the family, object and character consistency across a scene, and spatial reasoning, and Microsoft charges 2.9x the standard tier for it.

mai-image-2.5-pro is $0.108544, not $0.053 — changed 2026-09-03

Pro shipped against an estimate, because Microsoft published no price for the MAI family at the time. It now publishes the meter: image output is $106.00 per 1M tokens and a 1024x1024 render is 1024 output tokens, so one image is $0.108544. If your integration hard-codes the old figure to forecast spend, double it. Nothing else in the family moved, and the credit price on fotohub.app is unchanged.

One image per request

The whole MAI-Image family returns exactly one image per request. num_images above 1 is clamped to 1 and billed as 1 — it is not an error, but ask for more by making more requests. Output is always PNG, and the total pixel count is capped at 1,048,576 (1024x1024); either side may exceed 1024 as long as the product stays under the cap, and neither may go below 768.

BytePlus — SeedDream

Billed from the output token count BytePlus reports rather than a flat per-call rate, which is why the funds check and the charge are two separate steps on this path. The figures below are the per-image rates those tokens resolve to.

Model IDNamePrice (USD)Unit
seedream-4-0-250828SeedDream 4.00.030per image, flat across 1K/2K/4K
seededit-3-0-i2i-250628SeedEdit 3.00.030image-to-image, flat
seedream-5-0-260128SeedDream 5.00.0315per image, flat across 1K/2K/4K
seedream-4-5-251128SeedDream 4.50.036per image, flat
dola-seedream-5-0-pro-260628SeedDream 5.0 Pro0.0480.003 input + 0.045 output ✅ verified

Recommended: seedream-5-0-260128 -- Excellent quality-to-price ratio, the default model in most examples, flat-rated to 4K.

SeedDream 5.0 Pro has two legs and a 2K ceiling

Its price is the sum of an input leg (0.003) and an output leg (0.045) — $0.048 for a standard render. Above 2K the output leg doubles to 0.090, and the model is capped at 2K anyway, so a 4K request renders and bills 2K. It is the one model whose rate came directly from the provider's own price list.

BytePlus — Dreamina

Model IDNamePrice (USD)Unit
dreamina-4-6Dreamina 4.60.031per image, flat across 1K/2K/4K, up to 14 reference images

Use case: Image-to-image composition with up to 14 reference inputs, flat pricing regardless of output resolution. See the full request reference — a single call can return a group of images unless force_single is set, and each delivered image is charged.

xAI — Grok Imagine

Model IDName1K2K4KCapabilities
grok-imagine-imageGrok Imagine0.020.020.02T2I + single-image edit, multiple aspect ratios
grok-imagine-image-proGrok Imagine Pro0.050.070.07T2I + multi-image combine + higher fidelity
grok-imagine-image-qualityGrok Imagine Quality0.050.070.07as Pro ✅ verified

Use cases: Product photography, e-commerce listings, multi-image combine, social media content. grok-imagine-image is flat-rated and one of the cheapest 4K renders available.

BFL — FLUX

FLUX models for text-to-image and context-aware editing. Max resolution: 1440px per side.

Model IDNamePrice (USD)Unit
flux-2-klein-4bFLUX.2 Klein 4B0.015005per image, flat
flux-2-klein-9bFLUX.2 Klein 9B0.016077per image, flat
flux-1.1-proFLUX 1.1 Pro0.04per image, flat across 1K/2K/4K
flux-kontext-proFLUX Kontext Pro0.04context-aware editing, flat
flux-1.1-pro-ultraFLUX 1.1 Pro Ultra0.06per image, flat
flux-2-maxFLUX.2 Max0.075027per image, flat
flux-kontext-maxFLUX Kontext Max0.08premium editing, flat
flux-2-proFLUX.2 Pro0.03 / 0.075 / 0.255per image, 1K / 2K / 4K
flux-2-flexFLUX.2 Flex0.05 / 0.20 / 0.80per image, 1K / 2K / 4K

Use case: flux-kontext-pro / flux-kontext-max for context-aware editing and style transfer. flux-2-klein-* for budget generation at a flat rate.

The two stepped FLUX models are the sharpest trap on the platform

flux-2-pro and flux-2-flex are the only FLUX models with a resolution grid, and their top steps are 8.5x and 16x their 1K prices. Omit image_size and you are billed $0.255 or $0.80 for a render you may have wanted at $0.03 or $0.05. Every other FLUX model ignores the field entirely.

MiniMax

Model IDNamePrice (USD)Unit
minimax-image-01MiniMax Image0.03per image

Kling — Image

Model IDNamePrice (USD)Unit
kling-v2-1Kling v2.10.012per image ✅ verified
kling-v2Kling v20.025per image
kling-v2-newKling v2 (New)0.025per image
kling-v3Kling v30.025per image ✅ verified
kling-v3-omniKling v3 Omni0.025per image, all modes ✅ verified
kling-image-o1Kling Image O10.025per image, reasoning model

Use case: Versatile multi-style generation with strong coherence; kling-v3-omni for the highest quality; kling-image-o1 for prompt-reasoning-driven composition. Five of the six sit at the same $0.025, so choose on capability rather than price — and note that kling-v2-1 at $0.012 is half the cost of the rest.

kling-v3 and kling-v3-omni name two different things

Both ids exist as an image model and as a video model, at unrelated prices. Sent to /v1/ai/generate/image they cost $0.025 per image; sent to /v1/ai/generate/video they bill per second from the Kling V3 video rate ($0.077/s). The endpoint you call decides which one you get.

Image Editing (POST /v1/ai/edit/image)

Model IDNamePrice (USD)Unit
imagen-3.0-capability-001Imagen 3 Capability0.04per edit, flat across 1K/2K/4K

This endpoint has exactly one provider path and always runs Imagen 3 Capability — a model field in the body is ignored. Modes: inpaint, outpaint, bgswap, remove. See Image Generation for the request shape.

For mask-based editing with a different engine, see the Stability tools under Image Processing Tools below, which are separately priced and reached through /v1/images/*.


Video Generation Models

50+ models for text-to-video and image-to-video generation across 6 providers. Almost all bill per second of output (rate × duration), including MiniMax Hailuo — see the note under that section. Seedance is the exception and is priced from a token count instead.

Multiply by the duration

A per-second rate is not a per-clip price. veo-3.1-generate-001 at $0.20/s is $1.00 for a 5-second clip and $1.60 for the 8-second default. POST /v1/billing/estimate will price a specific {model, duration, resolution} for you before you run it.

Google — Veo (Vertex AI)

Model IDNameUSD/s5s clipMax ResolutionAudio
veo-3.1-lite-generate-001Veo 3.1 Lite0.030.151080pnative
veo-3.0-fast-generate-001Veo 3 Fast0.080.401080pnative
veo-3.1-fast-generate-001Veo 3.1 Fast0.080.404Knative
veo-3.0-generate-001Veo 30.201.001080pnative
veo-3.1-generate-001Veo 3.10.201.004Knative
veo-2.0-generate-001Veo 20.502.50720pnone

Recommended: veo-3.1-generate-001 — Highest quality, native audio, last-frame + reference-image support, up to 4K.

Note on Veo 2: it is the most expensive model in the family, caps at 720p, and has no audio. It is kept for compatibility only — veo-3.1-lite-generate-001 is 16x cheaper with native audio.

Veo defaults to an 8-second clip when duration is omitted, and you are billed for what renders — $1.60 on Veo 3.1, not $1.00.

Google — Gemini Omni Flash (native audio)

Model IDNameUSD/s5s clipResolutionAudio
gemini-omni-flashGemini Omni Flash0.10140.507720p (fixed)native (automatic)

T2V, I2V, and reference-to-video (≤3 images), 2-10s. Unlike Veo, audio is generated automatically — there's no separate audio surcharge tier, and resolution/duration aren't independently configurable (duration is prompt-controlled).

ByteDance — Seedance

The per-second cost above is derived using the standard resolution tokens per frame.

Video Input Discount (Video-to-Video Editing)

When a request includes a video input (video-to-video editing or style transfer), BytePlus meters the render on a discounted token rate instead of the standard resolution lane:

  • seedance-2-0-pro: $0.0043 / 1K tokens (approx. $0.0043/s) vs. $0.0070 standard
  • seedance-2-0-fast: $0.0033 / 1K tokens (approx. $0.0033/s) vs. $0.0056 standard
  • seedance-2-5: $0.0064 / 1K tokens (approx. $0.0064/s) vs. $0.0107 standard

The token count formula remains identical (tokens_per_frame × (fps × seconds + 1)); only the per-token rate is discounted.

Seedance is the one family not priced per second. BytePlus meters it by token count, which is computed from duration and resolution together, so a 720p clip is roughly 2.15x a 480p one rather than a fixed rate. All rates below are per 1K tokens and came from BytePlus's own invoice.

Model IDName480p /1K tok720p /1K tokHigher5s @ 720p
seedance-1-0-pro-fast-251015Seedance 1.0 Pro Fast0.0010.0011080p 0.0010.1089
seedance-1-5-pro-251215Seedance 1.5 Pro0.00120.00121080p 0.00120.1307
seedance-1-0-pro-250528Seedance 1.0 Pro0.00250.00251080p 0.00250.2723
seedance-2-0-miniSeedance 2.0 Mini0.00350.00350.3812
seedance-2-0-fastSeedance 2.0 Fast0.00560.00560.6098
seedance-2-0-proSeedance 2.0 Pro0.0070.0071080p 0.0077, 4K 0.0040.7623
seedance-2-5Seedance 2.50.01070.01071.1652

Capabilities: seedance-2-0-pro reaches 4K (4-15s). seedance-2-5 gives the longest clip — 4-30s in one request at a 720p ceiling, with audio included, video-to-video editing, and 30 image + 10 video + 10 audio references. seedance-1-5-pro-251215 charges an extra 0.0024/1K tokens when audio is generated.

Not every model offers every resolution

seedance-2-0-mini, -2-0-fast and -2-5 price 480p and 720p only. A request above that is refused rather than silently billed at a neighbouring resolution's rate. seedance-2-0-pro is the only one that prices 1080p and 4K. Two further ids — seedance-1-0-lite-i2v-250428 and seedance-1-0-lite-t2v-250428 — have no rate at all and cannot be billed; do not build against them.

Also: seedance-2-0-pro.3 and seedance-2-0-pro.3-fast are not Seedance. Despite the ids they route to MiniMax Hailuo 2.3 and are priced from the Hailuo table below.

Seedance runs asynchronously: POST /v1/ai/generate/video returns 202 with a job_id and poll_url. See the Seedance 2.5 reference for the full parameter set, task-type constraints, and video-editing examples.

ByteDance — Avatar & Motion Transfer

Two distinct capabilities on a dedicated endpoint pair (not /v1/ai/generate/video) — see the full reference.

Model IDNameUSD/s5s clipCapability
dreamactor-m2DreamActor M2.00.050.25motion transfer — image + driving video → performing character, 3-30s input
omnihuman-1-0OmniHuman 1.00.120.60avatar — image + audio → talking/performing video, no driving video needed, ≤15s
omnihuman-1-5OmniHuman 1.50.120.60same as 1.0, plus multi-character scene support via subject detection

Alibaba — Wan

Wan covers text-to-video (t2v), image-to-video (i2v), keyframe interpolation (kf2v), reference-to-video (r2v), video editing (VACE), and digital-human (S2V). It holds the cheapest per-second rate on the platform.

Model IDNameUSD/s5s clipMode
wan2.2-t2v-plus / wan2.2-i2v-plusWan 2.2 Plus0.020.10t2v / i2v
wan2.2-i2v-flashWan 2.2 I2V Flash0.020.10i2v
wan2.2-kf2v-flashWan 2.2 KF2V0.020.10keyframe
wan2.6-i2v-flashWan 2.6 I2V Flash0.0250.125i2v
wan2.1-i2v-turbo / wan2.1-t2v-turboWan 2.1 Turbo0.0360.18t2v / i2v
wan2.6-r2v-flashWan 2.6 R2V Flash0.0430.215reference-to-video
wan2.6-t2v / wan2.6-i2vWan 2.60.100.50t2v / i2v
wan2.5-t2v-preview / wan2.5-i2v-previewWan 2.50.100.50t2v / i2v
wan2.1-t2v-plusWan 2.1 Plus0.100.50t2v
wan2.1-kf2v-plusWan 2.1 KF2V Plus0.100.50keyframe
wan-vaceWan VACE Editor0.100.50video editing (inpaint/outpaint/repaint/extend)
wan-s2vWan S2V Digital Human0.100.50portrait + audio → talking head
wan2.6-r2vWan 2.6 R2V0.100.50reference-to-video, highest fidelity

Budget pick for the whole platform: the three wan2.2-* models at $0.02/s — a 5-second clip for ten cents.

Kuaishou — Kling AI

Model IDNameUSD/s5s clip
kling-v2-5-turboKling v2.5 Turbo0.0260.13
kling-v1Kling v1.00.0380.19
kling-v2-6Kling v2.60.0380.19
kling-v1-6Kling v1.60.0510.255
kling-v2-masterKling v2.0 Master0.0510.255
kling-v2-1-masterKling v2.1 Master0.0510.255
kling-video-o1Kling Video O10.070.35
kling-v3 / kling-v3-omniKling v3 / v3 Omni0.0770.385

kling-v3 and kling-v3-omni are both billed from the Kling V3 video rate ($0.077/s) — the only V3 per-second rate we hold. Sent to the image endpoint the same two ids cost $0.025 per image instead; see the image section above.

MiniMax — Hailuo

Model IDNameUSD/s5s clipNotes
hailuo-o2Hailuo O20.0170.085T2V + I2V + first/last-frame
hailuo-2.3-fastHailuo 2.3 Fast0.0320.16I2V only, faster/cheaper
hailuo-2.3Hailuo 2.30.0470.235T2V + I2V, camera commands
hailuo-s2vHailuo S2V0.0470.235subject-reference (face consistency)

Hailuo is per-second, not per-video

Earlier revisions of this page described Hailuo as flat per-video pricing. It is not: every model in the family is metered per second of output, so a 6-second Hailuo 2.3 render is $0.282, not a one-off charge. seedance-2-0-pro.3 and seedance-2-0-pro.3-fast are aliases into this family and are priced as hailuo-2.3 and hailuo-2.3-fast.

OpenAI — Sora 2

Model IDNameUSD/s5s clipMax Duration
sora-2Sora 20.130.6512s
sora-2-azureSora 2 — FOTOhub (Azure-hosted)0.130.6512s
sora-2-proSora 2 Pro0.30 / 0.50 / 0.701.50 / 2.50 / 3.5025s

sora-2-pro is priced per resolution and defaults to the most expensive one

Its rate is $0.30/s at 720p, $0.50/s at 1024p and $0.70/s at 1080p — and 1080p is what you get if you omit resolution. A 12-second clip is $3.60 at 720p and $8.40 at 1080p. It is the only video model with a resolution grid; everything else in this section ignores the field for pricing.

xAI — Grok Video

Model IDNameUSD/s5s clipNotes
grok-imagine-videoGrok Video0.070.35T2V + I2V + video editing + reference-to-video
grok-imagine-video-1.5Grok Video 1.50.140.70I2V + editing + lip-sync (portrait + text → talking head), up to 1080p

Internal Pipeline Video Models

Internal Story Studio Models

The HappyHorse family (happyhorse-1.0-t2v, happyhorse-1.0-i2v, happyhorse-1.1-t2v, happyhorse-1.1-i2v) is internal to FOTOhub Story Studio pipelines only and is not exposed as a public /v1/ai/generate/video endpoint.

Note: Deprecated third-party models luma-ray-v2, nova-reel, and flash-avatar-generate have been retired and are not available on the public API.

Recommended: veo-3.1-generate-001 — Highest quality, cinematic output with native audio.

Budget pick: wan2.2-t2v-plus / wan2.2-i2v-plus — Lowest per-second cost with good quality for social media content.

Native audio without Veo: gemini-omni-flash generates audio automatically for every clip, no separate surcharge.

Lip-sync generation: grok-imagine-video-1.5 — the only generative model with built-in lip-sync (portrait + script → talking head). For syncing existing footage to new audio instead, see Lip-Sync.


Chat and LLM Models

Every chat endpoint bills from real token counts. There is no flat per-request chat price and no credit-based chat tier — earlier revisions of this page described one, and it does not exist. What all three endpoints do is check your wallet holds enough for a plausible worst case before calling the provider, then charge the exact input/output token cost after the response comes back. If the wallet is empty you get a 402 and no provider call is made.

The chat endpoints accept a short, fixed list of ids

GET /v1/models?category=text is a display catalog and lists more names than the chat endpoints will route. The three tables below are the complete set of accepted ids. Anything else returns 400.

POST /v1/ai/chat/completions — OpenAI-compatible, streaming

Four ids, aliased onto current models so your integration doesn't break when we upgrade the backing version:

Model IDRoutes toInput $/1MOutput $/1M
gemini-flashGemini 2.5 Flash0.302.50
gemini-proGemini 2.5 Pro1.2510.00
gpt-4oGPT-5.13.0015.00
claude-sonnetClaude Sonnet 4.63.0015.00

Budget pick: gemini-flash — 10x cheaper on input than anything else on the endpoint.

POST /v1/ai/chat/claude — premium chat (no streaming)

Nine ids across Anthropic and Amazon:

Model IDInput $/1MOutput $/1M
nova-micro0.0350.14
nova-2-lite0.040.16
nova-lite0.060.24
claude-haiku-4.50.804.00
nova-pro0.803.20
nova-premier2.5010.00
claude-sonnet-43.0015.00
claude-sonnet-4.53.0015.00
claude-sonnet-4.63.0015.00

Budget pick: nova-micro at $0.035/$0.14 is the cheapest LLM on the platform — roughly 1/85th the input cost of a Sonnet call.

POST /v1/ai/agent and /v1/ai/agent/stream — tool-using agent

Only the four Claude ids are accepted here: claude-sonnet-4.6, claude-sonnet-4.5, claude-sonnet-4, claude-haiku-4.5. The Nova models are not available on the agent endpoints because they do not support the tool-use protocol the agent loop needs. Token rates are the same as the table above.

How a chat charge lands in your wallet

  1. The request arrives and the wallet is checked against an upper-bound estimate. Not enough balance → 402 insufficient_funds, nothing is called, nothing is charged.
  2. The provider runs.
  3. The real input_tokens / output_tokens are multiplied by the rates above and that exact amount is debited.

So the amount on your /v1/billing/usage row is the true cost of the completion, not a rounded package price. Output tokens dominate — on Sonnet they cost 5x input.


Music and Audio Models

Music Generation

Music is billed per minute of generated audio, so a 30-second track costs half a minute's rate.

Model IDNameUSD/min30s trackDuration
minimaxMiniMax Music0.0250.012530s / 60s / 120s
elevenlabsIDA Cloud Music0.0450.022530s / 60s / 120s

POST /v1/ai/generate/music accepts exactly these two provider values. Other music engines exist internally but are not exposed on the public API; the price keys behind them (lyria-music $0.055/min, stable-audio-music $0.035/min, audio-beats $0.037/min) appear in GET /v1/pricing for reference and for pipelines that reach them through Gabriel.

Budget pick: minimax at $0.025/min — a two-minute track for five cents.

Other audio operations

Also per minute of audio, on their own endpoints:

Price keyUSD/minWhat it does
audio-podcast0.030multi-speaker podcast assembly
audio-stems0.030stem separation
audio-mastering0.025mastering chain
audio-translation0.025speech translation
translation0.021436text translation leg
dubbing0.080386full dubbing pipeline

Sound Effects (SFX)

Price keyPriceUnit
elevenlabs-sfx0.015per request
sfx-elevenlabs0.040193per request

Text-to-SFX generation via POST /v1/ai/generate/sfx, up to 30 seconds. Uses the prompt field for the description. Unlike music, SFX is a flat per-request charge — duration does not change the price.

Text-to-Speech (TTS)

Billed per 1000 characters submitted — not per request and not in 10K blocks. A 250-character line costs a quarter of the rate below; the minimum charge is 1 block.

Model / provider valuePrice keyUSD / 1K charsNotes
grok-ttsgrok-tts0.015xAI voices
googletts-google0.01530+ languages, neural voices
Azure Speech (/v1/ai/tts/azure)tts-azure0.015700+ voices, 140 languages, SSML, emotional styles
AWS Polly (/v1/ai/tts/polly)tts-polly0.016100+ voices, 29 languages incl. Polish
ida-voice, ida-voice-pro, elevenlabs, mars-pro, mars-flashtts-elevenlabs0.030voice cloning, emotion control
gpt-audio-1.5-ttsgpt-audio-1.5-tts2.50 in / 100.00 out per 1M tokenstoken-billed, not per character

Only google gets the cheap rate on /v1/ai/generate/speech

On that endpoint the price key is derived from the provider name, and only google has its own entry. ida-voice, ida-voice-pro, elevenlabs, mars-pro and mars-flash all resolve to tts-elevenlabs at $0.030/1K chars — twice the Google rate — regardless of which of those five names you send. If cost matters more than voice quality, google at $0.015 or Polly at $0.016 are the ones to pick.

Speech-to-Text (STT)

Billed per started minute of input audio, so a 95-second file bills 2 minutes.

ModelPrice keyUSD/min
Grok STTgrok-stt0.001667
Whisper Large v3whisper-transcription0.006
GPT Audio 1.5 Transcribegpt-audio-1.5-transcribe0.006
default transcriptiontranscription0.006
ElevenLabs Scribeelevenlabs-transcription0.010
Voxtral Mini 3Btranscribe-voxtral-mini0.005
Voxtral Small 24Btranscribe-voxtral-small0.020

Voxtral summarization adds a per-request leg on top of the per-minute one: summarize-voxtral-mini $0.005/min + $0.005/request, summarize-voxtral-small $0.02/min + $0.01/request. A 10-minute summary on Small is $0.21.

Budget pick: grok-stt at $0.001667/min — an hour of audio for ten cents. Quality pick: Voxtral Small, an LLM rather than a classical ASR, so it follows context and instructions.

Voice cloning and realtime

Price keyPriceUnit
elevenlabs-voice-clone0.30per clone
voice-clone0.535906per clone
voice_realtime_session0.267953per session

Use case: Transcription, subtitles, meeting notes, dubbing pipelines.


Analysis & Document Models

Image analysis, detection, OCR, and photo intelligence. These are returned under the image category in /v1/models.

Model IDNamePrice (USD)Unit
detect-sensitive-dataPII / sensitive-data detection0.002per image analyzed
photo-analysisPhoto Analysis0.003per image analyzed
analyze-photoPhoto Analysis (alias)0.003per image analyzed
google-vision-ocrGoogle Vision OCR0.003per image analyzed
anonymize-imageFace / plate anonymization0.005per image
face-detectionFace Detection0.010718per image analyzed
nsfw-detectionNSFW / Safety Detection0.010718per image analyzed
ocrOCR (text extraction)0.010718per image analyzed

Recommended: photo-analysis -- General-purpose image understanding, captioning, and content classification, and at $0.003 the cheapest analysis call on the platform.

Note: google-vision-ocr at $0.003 does the same job as ocr at $0.010718 for a third of the price. Pick ocr only if you need the FOTOhub-normalized response shape.

Document Intelligence (Textract)

OperationPrice keyPrice (USD)Use Case
detect-text (OCR)textract-detect0.0015Simple text extraction from images/documents
analyze-expense (Invoices)textract-expense0.010Invoice/receipt data extraction
analyze (Tables+Forms)textract-analyze0.015Table/form structured extraction

All three are flat per-document charges and all three are ✅ verified against the AWS Textract price list. See Document Intelligence for full API reference.


3D Generation Models

5 models for converting images or text to 3D assets. See 3D Generation for full API reference.

Model IDNamePrice (USD)SpeedModesQuality
fh-lite-3dFH Lite 3D0.160772~3simage-to-3d★★★
fh-text-3dFH Text 3D0.267953~25stext-to-3d★★
fh-pro-3dFH Pro 3D0.803859~60simage-to-3d★★★★★

Flat per-request pricing (price keys 3d_fh-lite-3d, 3d_fh-text-3d, 3d_fh-pro-3d). Polygon count and output format do not change the charge.

Recommended: fh-lite-3d — Best speed-to-quality ratio for product photography and e-commerce use cases.

Premium pick: fh-pro-3d — Highest quality with PBR textures, supports both image and text input. Ideal for production 3D assets.

Output formats: GLB (web/AR), OBJ (editing), STL (3D printing), USDZ (Apple AR).


Storage and Compute Resources

Storage and GPU time are billed from the same prepaid wallet as generations — there is no separate storage invoice and no included free allowance on the API.

Storage — per GB-month

All FOTOhub-managed buckets (storage_buckets) are hosted on AWS S3 Standard in Frankfurt (eu-central-1) at a flat pass-through list price of $0.0245 / GB-month ($0.00003356 / GB-hour), regardless of the storage class label (standard, infrequent, or archive).

ClassPrice keyUSD / GB / monthUSD / GB / hourStorage Infrastructure
Standardstorage-standard$0.0245$0.00003356AWS S3 Standard (eu-central-1)
Infrequentstorage-infrequent$0.0245$0.00003356AWS S3 Standard (eu-central-1)
Archivestorage-archive$0.0245$0.00003356AWS S3 Standard (eu-central-1)

Storage is metered hourly and billed continuously from your prepaid USD wallet. Hourly storage is calculated from the monthly rate divided by 730 hours (gb × hours × ($0.0245 / 730)). For example, 5 GB of storage held for 6 hours costs 5 × 6 × 0.00003356 = $0.00102.

A provisioned bucket is billed from byte zero

If you provision a bucket with a fixed gb_limit, that limit is the capacity you are paying for, not a ceiling you grow into — an empty 100 GB bucket bills 100 × $0.0245 = $2.45/month. For dynamic auto-scaling storage without provisioned ceilings, omit gb_limit to pay only for stored bytes.

GPU compute — per request

TierPrice keyPrice (USD)
T4gpu-t40.401929
L4gpu-l40.803859
A100gpu-a1003.215434

Batch processing

Batch jobs carry no per-job fee. Each item inside the batch is charged at its own model rate — a 200-image batch on image_batch is 200 × 0.053591 = $10.72. Submitting the batch itself costs nothing.


Model Selection Guide

Choosing the right model depends on your priorities: quality, speed, cost, or resolution.

Images — best quality

  • imagen-4-ultra — $0.160772/image, highest fidelity from Google (clamped to 2K)
  • dola-seedream-5-0-pro-260628 — $0.048 at the standard leg, highest detail and prompt adherence
  • gemini-3-pro-image — $0.134 at 1K and at 2K, so 2K is the same price as 1K

Images — best speed

  • imagen-3-fast — $0.020/image, optimized pipeline with good quality
  • gpt-image-1-mini — $0.005 at 1K, the fastest cheap option
  • grok-imagine-image — $0.02/image flat, no resolution grid to trip over

Images — best value

  • ida-q-image$0.00, self-hosted, nothing is deducted from your wallet
  • gpt-image-1-mini — $0.005 at 1K, cheapest invoiced image on the platform
  • gpt-image-2 — $0.006 at 1K
  • kling-v2-1 — $0.012/image flat

Images — 4K output

  • gemini-3-pro-image — native 4K at $0.24
  • flux-2-pro — 4K at $0.255, but note that is 8.5x its 1K price
  • SeedDream 4K: available on the 4-0/4-5/5-0 line; dola-seedream-5-0-pro-260628 caps at 2K
  • Note on Google Imagen: Google Imagen models (imagen-4-ultra, imagen-4-standard, imagen-3-standard) do not support native 4K; all Imagen requests are clamped to 2K before generation.

Video — best value

  • wan2.2-t2v-plus / wan2.2-i2v-plus / wan2.2-i2v-flash — $0.02/s, $0.10 for a 5-second clip
  • hailuo-o2 — $0.017/s
  • kling-v2-5-turbo — $0.026/s

Video — best quality

  • veo-3.1-generate-001 — $0.20/s, 4K with native audio
  • seedance-2-0-pro — up to 4K, 4-15s, $0.76 for 5s at 720p
  • sora-2-pro — $0.30–0.70/s depending on resolution; set resolution explicitly

Chat — best value

  • nova-micro — $0.035 in / $0.14 out per 1M tokens
  • gemini-flash — $0.30 / $2.50, the cheapest option on the OpenAI-compatible endpoint

Model Availability

Each model exposes an is_active boolean. Active models are fully operational and recommended for production use; inactive models are retired or temporarily disabled and are excluded from the default catalog response.

Check model availability programmatically:

bash
# Get active models (default — inactive models are excluded)
curl -X GET "https://apis.fotohub.app/v1/models" \
  -H "Authorization: Bearer fh_live_your_api_key"

# Include retired/inactive models
curl -X GET "https://apis.fotohub.app/v1/models?includeInactive=true" \
  -H "Authorization: Bearer fh_live_your_api_key"

Try Before You Commit

Use the FOTOhub Playground at fotohub.app/playground to compare models side-by-side with the same prompt before choosing one for production use. Sandbox API keys (fh_test_) can be used for testing without incurring charges.


Image Processing Tools

Professional image editing via Stability AI and FOTOhub proprietary engines. Everything here is a flat per-image charge.

Stability AI tools (POST /v1/ai/stability/{tool})

Price keys are stability_{tool}. All thirteen are ✅ verified against Stability's published credit-to-dollar rate.

ToolPrice (USD)Description
fast-upscale0.034x upscale, instant
outpaint0.06Extend canvas in any direction
erase-object0.07Content-aware object removal via mask
inpaint0.07Generate new content in masked area
remove-background0.07Cut to transparent PNG
search-replace0.07Replace objects by text description
search-recolor0.07Change colour of specific objects
style-guide0.07Apply a style reference to a generation
control-sketch0.07Sketch-guided generation
control-structure0.07Structure-preserving generation
style-transfer0.08Apply style from reference image
conservative-upscale0.40Faithful high-res upscale
creative-upscale0.604x upscale with detail synthesis

FOTOhub image tools

ToolPrice (USD)Description
image_enhance0.053591Automatic image enhancement
image_denoise0.053591Remove noise while preserving detail
image_color_grade0.053591AI colour correction and grading
image_clip_tag0.053591Auto-generate descriptive tags
image_clip_embed0.053591Embedding vector for search
image_batch0.053591Per image inside a batch
image_colorize0.107181Colorize black & white photos
image_depth_map0.107181Generate depth map from image
image_face_restore0.107181Restore degraded/old faces
remove_background0.107181Background removal
blur_background0.107181Depth-aware background blur
add_shadow0.107181Synthetic contact shadow
remove_background_advanced0.214362Hair/edge-refined cutout
replace_background0.214362Cutout + generated backdrop

Stability's remove-background is cheaper than ours

$0.07 versus $0.107181, and $0.214362 for the advanced variant. Use stability_remove-background unless you need the hair-level edge refinement.

See Image Processing for full API reference.


Video Editing (FFmpeg pipeline)

Flat per-request charges on /v1/ai/video/*, independent of clip length.

OperationPrice (USD)
transcode0.053591
merge0.107181
speed0.107181
effects0.107181
watermark0.107181
stabilize0.160772
subtitles0.160772
upscale0.214362
ai_director0.267953

Lip-Sync & Face Animation

Billed per second of processed video from your prepaid USD wallet.

ModelPrice (USD / sec)UnitSpeedQualityDescription
musetalk$0.0030per secondFastReal-timeFOTOhub Sync Fast (MuseTalk 1.5)
latentsync$0.0060per secondMediumHigh (HD)FOTOhub Sync HD (LatentSync 1.6)
facefusion$0.0100per secondSlowUltra (4K)FOTOhub Sync Ultra (FaceFusion 3.x)

See Lip-Sync for full API reference.


Try-On

Model IDPrice (USD)Notes
virtual-try-on-0010.064309single garment
fashn-tryon-v1.60.080386garment on model photo
virtual-try-on-outfit0.128617full outfit composition

Shorts & Video Pipeline

Automated video-to-shorts pipeline with AI-powered editing. Each step is a flat per-request charge, so you can run steps individually or let the agent chain them.

StepPrice (USD)Description
Ingest0.107181Upload and analyze video
Transcribe0.107181Speech-to-text with WhisperX
Captions0.107181Auto-generated subtitles
Detect Scenes0.160772Automatic scene boundaries
Reframe0.160772Smart aspect ratio adaptation
Generate Clips0.267953AI-selected best moments
Render0.267953Final short video output
Full Agent0.803859Entire pipeline automated

Running the seven steps by hand totals $1.17, so the agent at $0.803859 is the cheaper path when you want the whole pipeline.

See Shorts & Clips for full API reference.


Story Studio

The pipeline steps are our own GPU time and are flat per request. The scene clips are not: they are rendered by the same providers as /v1/ai/generate/video, at the same rates, so step 4 is charged per model, per second, per scene.

OperationPrice (USD)Covers
story_regenerate0.160772one character or one keyframe, redone
story_step0.267953one step — concept, characters, frames, voice-over or final compose
story_full1.607717the orchestration in POST /v1/story/generatethe clips are extra
story_step_videos:<model>per model, belowthe renders started by POST /v1/story/step/videos
story_full_videos:<model>per model, belowthe same renders, started by POST /v1/story/generate
/v1/story/step/poll-videosfreestep 4 already paid for the render

Scene renders

Per scene, at 720p — every story scene renders at 720p.

video_modelPer 5 s scene4-scene storyLengths it renders
seedance-1-50.1306800.5227205, 6, 7, 8, 9, 10 s
seedance-2-0-mini (default)0.3811501.5246004, 5, 6, 8, 10, 11, 12, 15 s
seedance-2-0-fast0.6098402.4393604, 5, 6, 8, 10, 11, 12, 15 s
seedance-2-0-pro0.7623003.0492004, 5, 6, 8, 10, 11, 12, 15 s
seedance-2-51.1652304.6609204, 5, 6, 8, 10, 12, 15, 20, 25, 30 s
veo-3-1-fast0.3200001.2800004, 6, 8 s
veo-3-10.8000003.2000004, 6, 8 s
wan0.5000002.0000004, 5, 6, 7, 8, 9, 10 s
happyhorse0.5000002.0000003, 4, 5, 6, 7, 8, 9, 10, 12, 15 s

A requested duration snaps down onto that ladder, so duration_per_scene: 5 on a Veo model is a four-second clip billed as four seconds. Scenes with no keyframe are never submitted and never charged, and anything the renderer refuses is refunded against the same operation.

The flat render fee is gone — changed 2026-09-02

story_step_videos used to be one figure, $0.535906, for any number of scenes on any model. It covered a four-scene story on seedance-1-5 and nothing else: the same request costs $4.66 on seedance-2-5, and the largest one the route accepts — six 15-second scenes — costs $20.86. Renders are now billed at the provider's own rate, like every other video in this API.


Gabriel AI — Intelligent Orchestrator

Gabriel is FOTOhub's AI routing layer that classifies user intent and selects the optimal model automatically, balancing quality, speed, and cost.

EndpointLatencyDescription
POST /v1/ai/gabriel~200msClassify intent → recommend model
POST /v1/ai/gabriel/streamSSEReal-time thinking + routing stream
POST /v1/ai/gabriel/suggest<50msAutocomplete suggestions
POST /v1/ai/gabriel/recommend~100msContext-aware recommendations

How it works: Send a natural language prompt → Gabriel analyzes intent, estimates cost, selects the best model for quality/cost ratio, and optionally enhances your prompt before generation.

See Gabriel AI for full API reference.


MCP Server — 30 AI Tools for Assistants

FOTOhub exposes all capabilities as MCP (Model Context Protocol) tools, enabling AI assistants like Claude, Cursor, and VS Code Copilot to generate images, videos, music, and more.

DomainToolsTool names
Image8generate_image, edit_image, upscale_image, remove_background, enhance_prompt, analyze_image, style_transfer, inpaint_image
Video7generate_video, image_to_video, extend_video, generate_story, generate_shorts, get_job_status, add_subtitles
Audio6text_to_speech, generate_music, generate_sfx, transcribe_audio, voice_clone, separate_stems
Chat3chat_completion, translate_text, gabriel_route
Utility4check_balance, list_models, list_generations, search_photos
Training2create_training_job, get_training_status

Names, not paraphrases

These are the exact tool names the MCP server registers. There is no chat_stream, edit_video, fine_tune, get_pricing or bare translate tool — earlier revisions of this table listed shortened labels that do not resolve. enhance_prompt is registered under the image domain, not chat.

Transport: Streamable HTTP at https://apis.fotohub.app/mcp/Auth: Bearer fh_live_* tokens Health: GET https://apis.fotohub.app/mcp/health

See MCP Integration for tool reference and configuration examples.


API Tiers

A tier does not buy you generations

Every model call on this page is paid for out of your prepaid wallet balance in USD, whatever tier you are on. Tiers only set throughput. There is no plan that includes generations, no monthly credit allowance on the API, and no free tier — a new key starts on payg-basic with no monthly fee and can generate as soon as the wallet is funded.

Pay-as-you-go (no monthly fee)

Three tiers, and you move between them automatically as your account grows — there is nothing to buy and nothing to cancel.

Tier slugRPMAuto-activates at
payg-basic30default for every new account
payg-standard120$25 wallet balance or $50 lifetime spend
payg-premium500$120 wallet balance or $500 lifetime spend

Either condition promotes you — a balance you are holding, or money you have already spent.

Enterprise

Tier slugNamePrice/monthRPMAPI keysSupport
sub-enterpriseEnterprisecustom5,000unlimiteddedicated, SSO/SAML, custom infra

Above payg-premium, throughput is provisioned by sales — apply at POST /v1/tiers/enterprise/apply.

Subscriptions — retired

Paid API plans were retired on 2026-08-13, and POST /v1/tiers/subscribe now answers 410. They were the wrong shape for a prepaid product: sub-developer cost 49 PLN/mo for 60 RPM, half of what payg-standard gives you free at a $25 balance, and a plan never funded a single generation. Throughput now follows the wallet, so a top-up is the only upgrade path — and from $500 up it earns a volume bonus of 5–20% in extra spendable dollars. Accounts that held sub-developer (60 RPM), sub-startup (300) or sub-business (1,000) before the cutover keep those limits.

What is actually enforced

Requests per minute is the limit your calls hit. Certain expensive endpoints carry their own tighter per-endpoint cap that applies regardless of tier — a 429 on video generation while you are far below your RPM is that cap, not a bug. Your rate-limit state is always readable from the X-RateLimit-* response headers.

See Billing & Pricing for wallet top-ups, invoice settings, and usage reporting.