Credit Costs
How many credits each model and variant costs per generation.
Every generation deducts credits from your team's balance at submission time. If a job fails, the credits are automatically refunded.
You can check your current balance via the Account endpoint or in the Apiframe console.
Image generation
Models tagged × n multiply by the number of images requested in the call (n, number_of_images, or num_images depending on the model).
| Model | Variant | Credits per generation |
|---|---|---|
| Midjourney | — | 10 |
| Midjourney | Upsample | 2 |
| Midjourney | Variation | 10 |
| Midjourney | Inpaint | 10 |
| Midjourney | Outpaint | 10 |
| Midjourney | Pan | 10 |
| Kling Image | — | 2 × n |
| Nano Banana | — | 5 |
| Nano Banana Pro | 1K / 2K | 19 |
| Nano Banana Pro | 4K | 38 |
| Nano Banana 2 | 1K | 8 |
| Nano Banana 2 | 2K | 13 |
| Nano Banana 2 | 4K | 19 |
| Nano Banana 2 Lite | — | 4 |
| Flux 1.1 Pro | — | 5 |
| Flux 1.1 Pro Ultra | — | 8 |
| Flux 2 Pro | 0.5MP | 3 |
| Flux 2 Pro | 1MP | 4 |
| Flux 2 Pro | 2MP | 6 |
| Flux 2 Pro | 4MP | 9 |
| Flux 2 Dev | 0.5MP | 1 |
| Flux 2 Dev | 1MP | 2 |
| Flux 2 Dev | 2MP | 3 |
| Flux 2 Flex | 0.5MP | 4 |
| Flux 2 Flex | 1MP | 8 |
| Flux 2 Flex | 2MP | 15 |
| Flux 2 Flex | 4MP | 30 |
| Flux 2 Max | 0.5MP | 7 |
| Flux 2 Max | 1MP | 9 |
| Flux 2 Max | 2MP | 12 |
| Flux 2 Max | 4MP | 20 |
| Seedream 3 | — | 4 |
| Seedream 3.1 | — | 4 |
| Seedream 4 | — | 4 |
| Seedream 4.5 | — | 5 |
| Seedream 5 Lite | — | 4 |
| Seedream 5.0 Pro | 1K | 6 |
| Seedream 5.0 Pro | 2K | 11 |
| Ideogram V2 | — | 10 |
| Ideogram V2 Turbo | — | 6 |
| Ideogram V2a | — | 5 |
| Ideogram V2a Turbo | — | 3 |
| Ideogram V3 Balanced | — | 8 |
| Ideogram V3 Turbo | — | 4 |
| Ideogram V3 Quality | — | 11 |
| Ideogram V4 Balanced | — | 8 |
| Ideogram V4 Turbo | — | 4 |
| Ideogram V4 Quality | — | 12 |
| Ideogram Character | Turbo | 12 |
| Ideogram Character | Default | 19 |
| Ideogram Character | Quality | 25 |
| Stable Diffusion 3.5 Large | — | 8 |
| Stable Diffusion 3.5 Large Turbo | — | 5 |
| Stable Diffusion 3.5 Medium | — | 4 |
| Stable Diffusion 3 | — | 4 |
| Reve Create | — | 3 |
| Imagen 3 | — | 6 |
| Imagen 3 Fast | — | 3 |
| Imagen 4 | — | 5 |
| Imagen 4 Ultra | — | 8 |
| Imagen 4 Fast | — | 2 |
| DALL-E 3 | — | 15 |
| DALL-E 2 | — | 2 |
| GPT Image 1.5 | Low | 2 × n |
| GPT Image 1.5 | Medium | 6 × n |
| GPT Image 1.5 | Auto | 17 × n |
| GPT Image 1.5 | High | 17 × n |
| GPT Image 2 | Low | 2 × n |
| GPT Image 2 | Medium | 6 × n |
| GPT Image 2 | Auto | 16 × n |
| GPT Image 2 | High | 16 × n |
| Qwen Image | — | 3 × n |
| Qwen Image 2 | — | 4 |
| Qwen Image 2 Pro | — | 9 |
| Wan Image 2.6 | — | 4 |
| Wan Image 2.7 | — | 4 |
| Wan Image 2.7 Pro | — | 4 |
| Grok Image 2 | — | 5 |
| Grok Image Fast | — | 2 |
| Flux LoRA (AI Photos inference) | — | 14 × num_outputs |
AI Photos (LoRA training)
POST /v2/loras — train a Flux LoRA from 15-30 subject photos.
| Step | Credits | Notes |
|---|---|---|
| LoRA create (upload + caption + zip) | 1 | Charged at submission. Refunded on failure. |
| LoRA training | 231 | Charged just before training starts. Refunded if training fails. |
| Inference per image | 14 | See Flux LoRA — num_outputs of 1-4 supported. |
Video generation
Per-clip pricing
| Model | Variant | Credits |
|---|---|---|
| Midjourney Video | — | 48 |
| Kling 2.1 | Standard 5s | 16 |
| Kling 2.1 | Standard 10s | 31 |
| Kling 2.1 | Pro 5s | 28 |
| Kling 2.1 | Pro 10s | 56 |
| Kling 2.1 Master | 5s | 88 |
| Kling 2.1 Master | 10s | 175 |
| Kling 2.5 Turbo Pro | 5s | 22 |
| Kling 2.5 Turbo Pro | 10s | 44 |
| Kling 2.6 | 5s | 22 |
| Kling 2.6 | 5s + audio | 44 |
| Kling 2.6 | 10s | 44 |
| Kling 2.6 | 10s + audio | 88 |
| Sora 2 | 4s | 50 |
| Sora 2 | 8s | 100 |
| Sora 2 | 10s | 125 |
| Sora 2 | 12s | 150 |
| Sora 2 | 15s | 188 |
| Sora 2 Pro | Standard · 4s | 150 |
| Sora 2 Pro | Standard · 8s | 300 |
| Sora 2 Pro | Standard · 10s | 375 |
| Sora 2 Pro | Standard · 12s | 450 |
| Sora 2 Pro | Standard · 15s | 562 |
| Sora 2 Pro | High · 4s | 250 |
| Sora 2 Pro | High · 8s | 500 |
| Sora 2 Pro | High · 10s | 625 |
| Sora 2 Pro | High · 12s | 750 |
| Sora 2 Pro | High · 15s | 938 |
| Seedance 1 Lite | 480p · 5s | 11 |
| Seedance 1 Lite | 720p · 5s | 22 |
| Seedance 1 Lite | 1080p · 5s | 45 |
| Seedance 1 Lite | 480p · 10s | 22 |
| Seedance 1 Lite | 720p · 10s | 45 |
| Seedance 1 Lite | 1080p · 10s | 90 |
| Seedance 1 Pro | 480p · 5s | 19 |
| Seedance 1 Pro | 720p · 5s | 38 |
| Seedance 1 Pro | 1080p · 5s | 94 |
| Seedance 1 Pro | 480p · 10s | 38 |
| Seedance 1 Pro | 720p · 10s | 75 |
| Seedance 1 Pro | 1080p · 10s | 188 |
| Seedance 1 Pro Fast | 480p · 5s | 9 |
| Seedance 1 Pro Fast | 720p · 5s | 16 |
| Seedance 1 Pro Fast | 1080p · 5s | 38 |
| Seedance 1 Pro Fast | 480p · 10s | 19 |
| Seedance 1 Pro Fast | 720p · 10s | 31 |
| Seedance 1 Pro Fast | 1080p · 10s | 75 |
| Seedance 1.5 Pro | 480p · 4s | 6 |
| Seedance 1.5 Pro | 720p · 4s | 13 |
| Seedance 1.5 Pro | 1080p · 4s | 30 |
| Seedance 1.5 Pro | 480p · 4s + audio | 12 |
| Seedance 1.5 Pro | 720p · 4s + audio | 26 |
| Seedance 1.5 Pro | 1080p · 4s + audio | 60 |
| Seedance 1.5 Pro | 480p · 8s | 13 |
| Seedance 1.5 Pro | 720p · 8s | 26 |
| Seedance 1.5 Pro | 1080p · 8s | 60 |
| Seedance 1.5 Pro | 480p · 8s + audio | 25 |
| Seedance 1.5 Pro | 720p · 8s + audio | 52 |
| Seedance 1.5 Pro | 1080p · 8s + audio | 120 |
| Seedance 1.5 Pro | 480p · 12s | 20 |
| Seedance 1.5 Pro | 720p · 12s | 39 |
| Seedance 1.5 Pro | 1080p · 12s | 90 |
| Seedance 1.5 Pro | 480p · 12s + audio | 38 |
| Seedance 1.5 Pro | 720p · 12s + audio | 78 |
| Seedance 1.5 Pro | 1080p · 12s + audio | 180 |
| Veo 2 | 5s | 312 |
| Veo 2 | 6s | 375 |
| Veo 2 | 7s | 438 |
| Veo 2 | 8s | 500 |
| Veo 3 / Veo 3.1 | 4s | 100 |
| Veo 3 / Veo 3.1 | 6s | 150 |
| Veo 3 / Veo 3.1 | 8s | 200 |
| Veo 3 / Veo 3.1 | 4s + audio | 200 |
| Veo 3 / Veo 3.1 | 6s + audio | 300 |
| Veo 3 / Veo 3.1 | 8s + audio | 400 |
| Veo 3 Fast / Veo 3.1 Fast | 4s | 50 |
| Veo 3 Fast / Veo 3.1 Fast | 6s | 75 |
| Veo 3 Fast / Veo 3.1 Fast | 8s | 100 |
| Veo 3 Fast / Veo 3.1 Fast | 4s + audio | 75 |
| Veo 3 Fast / Veo 3.1 Fast | 6s + audio | 112 |
| Veo 3 Fast / Veo 3.1 Fast | 8s + audio | 150 |
| Hailuo 02 | 768p · 6s | 34 |
| Hailuo 02 | 768p · 10s | 56 |
| Hailuo 02 | 1080p · 6s | 60 |
| Hailuo 2.3 | 768p · 6s | 35 |
| Hailuo 2.3 | 768p · 10s | 70 |
| Hailuo 2.3 | 1080p · 6s | 61 |
| Hailuo 2.3 Fast | 768p · 6s | 24 |
| Hailuo 2.3 Fast | 768p · 10s | 40 |
| Hailuo 2.3 Fast | 1080p · 6s | 41 |
| Luma Ray 2 | 5s | 112 |
| Luma Ray 2 | 9s | 203 |
| Luma Ray Flash 2 | 5s | 38 |
| Luma Ray Flash 2 | 9s | 68 |
| Wan 2.5 | 480p · 5s | 31 |
| Wan 2.5 | 720p · 5s | 62 |
| Wan 2.5 | 1080p · 5s | 94 |
| Wan 2.5 | 480p · 10s | 62 |
| Wan 2.5 | 720p · 10s | 125 |
| Wan 2.5 | 1080p · 10s | 188 |
| Wan 2.5 Fast | 720p · 5s | 43 |
| Wan 2.5 Fast | 1080p · 5s | 64 |
| Wan 2.5 Fast | 720p · 10s | 85 |
| Wan 2.5 Fast | 1080p · 10s | 127 |
| Wan 2.6 | 720p · 5s | 62 |
| Wan 2.6 | 1080p · 5s | 94 |
| Wan 2.6 | 720p · 10s | 125 |
| Wan 2.6 | 1080p · 10s | 188 |
| Wan 2.6 | 720p · 15s | 188 |
| Wan 2.6 | 1080p · 15s | 281 |
| Wan 2.6 Flash | 720p · 5s | 31 |
| Wan 2.6 Flash | 1080p · 5s | 47 |
| Wan 2.6 Flash | 720p · 10s | 62 |
| Wan 2.6 Flash | 1080p · 10s | 94 |
| Wan 2.6 Flash | 720p · 15s | 94 |
| Wan 2.6 Flash | 1080p · 15s | 141 |
| Runway Gen4 Turbo | 5s | 31 |
| Runway Gen4 Turbo | 10s | 62 |
| Runway Gen4.5 | 5s | 75 |
| Runway Gen4.5 | 10s | 150 |
| Grok Video | 6s | 38 |
| Grok Video | 10s | 62 |
| Grok Video | 15s | 94 |
| Grok Video 1.5 | 6s | 60 |
| Grok Video 1.5 | 10s | 100 |
| Grok Video 1.5 | 15s | 150 |
Per-second pricing
credits = rate × duration. The route probes the requested duration (or input video length, for wan-2.7-r2v) and bills accordingly.
hailuo-03 also bills reference video at its per-second rate (output seconds + reference seconds), and charges a flat surcharge for each reference image past the first five. A base_video regen is billed at the 2k-regen rate on the probed source duration, with extra images at extra-image-regen.
wan-3.0 is announced but not yet launched, so requests for it are rejected until it ships. Its rate below is provisional and will be confirmed at launch.
flux-3 rates vary by resolution, draft mode, and whether the request continues an existing video. If you omit duration, the model picks any length from 5 to 20 seconds ("auto") and the request is billed at the 20-second maximum — pass an explicit duration for exact pricing.
| Model | Variant | Credits / second |
|---|---|---|
| Kling 3.0 | Standard | 11 |
| Kling 3.0 | Pro | 14 |
| Kling 3.0 | Standard + audio | 16 |
| Kling 3.0 | Pro + audio | 21 |
| Kling 3.0 | 4K | 26 |
| Kling 3.0 | 4K + audio | 26 |
| Kling 3.0 Omni | Standard | 11 |
| Kling 3.0 Omni | Pro | 14 |
| Kling 3.0 Omni | Standard + audio | 14 |
| Kling 3.0 Omni | Pro + audio | 18 |
| Kling 3.0 Omni | 4K | 26 |
| Kling 3.0 Omni | 4K + audio | 26 |
| Kling 3.0 Motion Control | Standard | 5 |
| Kling 3.0 Motion Control | Pro | 8 |
| Seedance 2 | 480p | 8 |
| Seedance 2 | 720p | 19 |
| Seedance 2 | 1080p | 43 |
| Seedance 2 | 4K | 170 |
| Seedance 2 | 480p · ref-video | 10 |
| Seedance 2 | 720p · ref-video | 23 |
| Seedance 2 | 1080p · ref-video | 52 |
| Seedance 2 | 4K · ref-video | 209 |
| Seedance 2 Fast | 480p | 7 |
| Seedance 2 Fast | 720p | 15 |
| Seedance 2 Fast | 480p · ref-video | 8 |
| Seedance 2 Fast | 720p · ref-video | 18 |
| Seedance 2 Mini | 480p | 4 |
| Seedance 2 Mini | 720p | 9 |
| Seedance 2 Mini | 480p · ref-video | 5 |
| Seedance 2 Mini | 720p · ref-video | 11 |
| Seedance 2.5 | 480p | 13 |
| Seedance 2.5 | 720p | 29 |
| Seedance 2.5 | 480p · ref-video | 15 |
| Seedance 2.5 | 720p · ref-video | 35 |
| Wan 2.7 | T2V · 720p | 12 |
| Wan 2.7 | T2V · 1080p | 12 |
| Wan 2.7 | I2V · 720p | 12 |
| Wan 2.7 | I2V · 1080p | 19 |
| Wan 2.7 R2V | any resolution | 12 |
| Wan 3.0 | any resolution | 26 |
| Flux 3 | 720p | 21 |
| Flux 3 | 1080p | 36 |
| Flux 3 | Draft 720p | 8 |
| Flux 3 | Video-to-video · 720p | 51 |
| Flux 3 | Video-to-video · 1080p | 66 |
| Flux 3 | Video-to-video · draft | 15 |
| Hailuo 03 | 768p | 10 |
| Hailuo 03 | 2K | 16 |
| Hailuo 03 | 2K regen | 6 |
| Hailuo 03 | Reference image (past the first 5) | 5 |
| Hailuo 03 | Reference image on regen (past the first 5) | 3 |
| Happy Horse 1.0 | 720p | 18 |
| Happy Horse 1.0 | 1080p | 35 |
| Happy Horse 1.1 | 720p | 18 |
| Happy Horse 1.1 | 1080p | 22 |
| Veo 3.1 Lite | 720p | 6 |
| Veo 3.1 Lite | 1080p | 10 |
Image upscale
POST /v2/images/upscale — Topaz (realistic) and Clarity (creative) image upscalers.
| Model | Variant | Credits per generation |
|---|---|---|
| Topaz Image Upscale | ≤ 12 MP output | 6 |
| Topaz Image Upscale | ≤ 24 MP output | 6 |
| Topaz Image Upscale | ≤ 36 MP output | 12 |
| Topaz Image Upscale | ≤ 48 MP output | 12 |
| Topaz Image Upscale | ≤ 60 MP output | 19 |
| Topaz Image Upscale | ≤ 96 MP output | 25 |
| Topaz Image Upscale | ≤ 132 MP output | 30 |
| Topaz Image Upscale | ≤ 168 MP output | 36 |
| Topaz Image Upscale | ≤ 336 MP output | 66 |
| Topaz Image Upscale | ≤ 512 MP output | 102 |
| Clarity Upscaler | — | 2 |
The Topaz output-megapixel tier is computed automatically from the input image's dimensions × upscale_factor² and rounded up to the next configured row.
Image editing
POST /v2/images/background-remove, POST /v2/images/edit — Background removal, inpainting and outpainting.
| Model | Variant | Credits per generation |
|---|---|---|
| Bria Background Remove | — | 2 |
| 851-labs Background Remove | — | 1 |
| Flux Fill Pro (inpaint or outpaint) | — | 6 |
Video upscale
POST /v2/videos/upscale — Topaz video upscale and frame interpolation.
Pricing is per second of input video, tiered by output resolution × output fps. The route probes the input duration via ffprobe at submit time and charges cost-per-second × ceil(duration).
| Model | Variant | Credits / second of input |
|---|---|---|
| Topaz Video Upscale | 720p · 24 fps | 1 |
| Topaz Video Upscale | 720p · 30 fps | 1 |
| Topaz Video Upscale | 720p · 60 fps | 1 |
| Topaz Video Upscale | 1080p · 24 fps | 2 |
| Topaz Video Upscale | 1080p · 30 fps | 2 |
| Topaz Video Upscale | 1080p · 60 fps | 5 |
| Topaz Video Upscale | 4K · 24 fps | 7 |
| Topaz Video Upscale | 4K · 30 fps | 9 |
| Topaz Video Upscale | 4K · 60 fps | 19 |
Video editing
POST /v2/videos/edit — Wan 2.7 prompt-driven VideoEdit. Pricing is per second of output video.
| Model | Variant | Credits / second |
|---|---|---|
| Wan 2.7 VideoEdit | any resolution | 12 |
Music generation
| Model | Variant | Credits per generation |
|---|---|---|
| Suno | — | 11 |
| Suno | Extend | 11 |
| Suno | Cover | 11 |
| Suno | Add Vocals | 11 |
| Suno | Stems | 20 |
| Udio | 32s | 9 |
| Udio | 65s | 17 |
| Udio | 97s | 26 |
| Udio | 130s | 35 |
| Udio | Extend | 9 |
| Udio | Remix 32s | 9 |
| Udio | Remix 65s | 17 |
| Udio | Remix 97s | 26 |
| Udio | Remix 130s | 35 |
| Udio | Write Lyrics | 1 |
| Udio | Upload Audio | 1 |
| Producer | — | 6 |
| Lyria 3 Clip | — | 5 |
| Lyria 3 Pro | — | 10 |
| ElevenLabs Music | ≤ 30s (short) | 9 |
| ElevenLabs Music | ≤ 120s (medium) | 38 |
| ElevenLabs Music | > 120s (long) | 94 |
| Mureka | — | 6 |
How credits work
- Deducted at submission — credits are reserved the moment you send a generation request.
- Refunded on failure — if a job fails (provider error, content policy violation, etc.), the full credit cost is returned to your balance.
- Snapshotted per job — the
creditCostfield on a job reflects the cost at the time of submission, even if pricing changes later. - Team-scoped — credits belong to your team, not individual users. All team members share the same balance.
Checking your balance
curl https://api.apiframe.ai/v2/me \
-H "X-API-Key: afk_your_api_key_here"The response includes your current credit balance:
{
"id": "...",
"email": "...",
"team": {
"id": "...",
"credits": 850
}
}