Credits are shared across the app and the API. An image you generate through the API
costs exactly what the same image costs in the app, and both draw down the same
organization balance. Check it any time with
GET /credits or GET /me.Image generation
Image generation costs 5 credits per output at1K, scaled by resolution and
multiplied by the number of outputs:
| Resolution | Multiplier | Credits per output |
|---|---|---|
1K | ×1 | 5 |
2K | ×2 | 10 |
4K | ×4 | 20 |
num_outputs defaults to 1 (the app default is 4). For example, 4 outputs at
2K cost 5 × 4 × 2 = 40 credits.
Magic Edit
A Magic Edit (POST /images/edits) costs 5 credits per edit at the base
resolution. When the chosen engine exposes higher-resolution tiers, the same
1K/2K/4K multipliers as image generation apply, and multiple outputs multiply
the cost the same way. Engines with a fixed resolution are always billed at the base
5 credits per output.
Model creation
Creating a custom model (POST /models) costs 0 credits — it is a billable
action recorded for your audit trail, charged at zero. You are billed for generating
with the model, not for creating it.
Legacy LoRA “training” is deprecated and not available through the API — the legacy
training endpoints return
410 Gone. “Model creation” and “model training” refer to
the same Gemini-based flow; see the overview for what you can build.Video generation
Video is billed at a base of 5 credits per second, then scaled by the engine, the resolution, and whether audio is generated:Engine multipliers
Theengine you pick sets the base multiplier. Some engines also generate audio, at
an additional multiplier applied on top.
| Engine | Base multiplier | Audio |
|---|---|---|
veo_3_1_lite | ×1 | +67% (×1.67) |
veo_3_1 | ×5 | +25% (×1.25) |
veo_3_1_fast | ×2 | +50% (×1.5) |
veo_3 | ×5 | +25% (×1.25) |
veo_3_fast | ×2 | +50% (×1.5) |
veo_2 | ×4 | — |
kling_3_0_pro | ×2 | +50% (×1.5) |
kling_2_6_pro | ×2 | +25% (×1.25) |
kling_2_5_pro_turbo | ×2 | — |
kling_2_0_master | ×4 | — |
seedance_2_0 | ×4 | included |
sora_2_pro | ×4 | included |
runway_gen_4 | ×2 | — |
hailuo_02 | ×2 | — |
minimax_01 | ×1 | — |
“included” means audio is generated at no extra credit cost (×1.0). A ”—” means the
engine has no audio option. Engines omit
engine to use the default,
veo_3_1_lite.Resolution multipliers
On engines that expose resolution tiers, higher resolutions cost more:| Engine group | Resolution multipliers |
|---|---|
| Veo 3.x, Sora 2 Pro | 720p ×1 · 1080p ×2 · 4K ×3 (where the engine supports the tier) |
veo_3_1_lite | 720p ×1 · 1080p ×2 |
seedance_2_0 | 480p ×0.5 · 720p ×1 · 1080p ×2.25 |
Kling, runway_gen_4, hailuo_02, minimax_01, veo_2 | Fixed resolution — no resolution multiplier |
Worked examples
Kling 2.5 Pro Turbo · 5s
5 × 5 × 2 = 50 credits (fixed resolution, no audio).Veo 3.1 Lite · 8s · 1080p
5 × 8 × 1 × 2 = 80 credits (no audio).Veo 3.1 · 8s · 1080p · audio
5 × 8 × 5 × 2 × 1.25 = 500 credits.MiniMax 01 · 5s
5 × 5 × 1 = 25 credits (fixed resolution, no audio).Refunds
If a job fails on Samsa’s side — a terminal provider error after credits were deducted — the credits are automatically refunded to the same organization pool they were drawn from. Afailed job you submitted correctly does not cost you
credits. (Client errors such as 422 validation_error are rejected before anything is
charged.)
When you run out of credits
If the organization’s spendable pool cannot cover an action’s cost, the submit request returns402 before any job is
created — nothing is charged and no job row exists.
insufficient_credits— the pool is below the cost. Top up or upgrade.subscription_inactive— the organization has no usable subscription. Reactivate billing.
Buy credits and top-ups
Purchase credits, add top-ups, and manage your plan in the Samsa app. API usage
draws from the same balance.