M
M
e
e
n
n
u
u
M
M
e
e
n
n
u
u

Go To App

Kubflow documentation

Docs

Model credit pricing, API reference, generation examples, and authentication rules in one dense reference page.

Base URL
https://app.kubflow.com
Auth header
Authorization: Bearer kf_live_YOUR_KEY
Flow
Create generation, then poll status_url
Credits

Model pricing

A quick model catalog with credit costs. Prices can vary by duration, resolution, provider mode, sound, and usage tokens.

image

17 models
ModelPrice
Flux 2 Flex
flux-2-flex
14 credits
Flux 2 Pro
flux-2-pro
5 credits
GPT Image 1.5
gpt-image-1.5
4 credits
GPT Image 2
gpt-image-2
12 credits
GPT-4o Image
gpt-4o-image
6 credits
Grok Image
grok-imagine-text-to-image
4 credits
Input Image
image-passthrough
0 credits
Nano Banana
nano-banana
4 credits
Nano Banana 2
nano-banana-2
8-18 credits
Nano Banana Pro
nano-banana-pro
18-24 credits
Remove Background
recraft-remove-background
1 credits
Seedream 4.0
bytedance-seedream-v4
7 credits
Seedream 4.5
seedream-4.5-text-to-image
6.5 credits
Seedream 4.5 Edit
seedream-4.5-edit
6.5 credits
Seedream 5 Lite
seedream-5-lite
5.5 credits
Topaz Image Upscale
topaz-image-upscale
10-40 credits
Z-Image
z-image
0.8 credits

video

15 models
ModelPrice
Add Audio
add-audio
2 credits
Add Subtitles
add-subtitles
2 credits
Google Veo 3.1
veo3
30-370 credits
Grok Video Image to Video
grok-imagine-image-to-video
10-30 credits
Grok Video Text to Video
grok-imagine-text-to-video
10-30 credits
Input Video
video-passthrough
0 credits
Kling 2.6
kling-2.6
55-220 credits
Kling 2.6 Motion
kling-2.6/motion-control
6-9 credits/s
Kling 3.0
kling-3.0
14-27 credits/s
Kling 3.0 Elements
kling-3.0-elements
14-27 credits/s
Kling 3.0 Motion
kling-3.0/motion-control
20-27 credits/s
Seedance 2.0
seedance-2.0-kie
11.5-102 credits/s
Seedance 2.0 Fast
seedance-2.0-fast
9-33 credits/s
Stitch Videos
stitch-videos
2 credits
Topaz Video Upscale
topaz-video-upscale
8 credits/s (1x/2x), 14 credits/s (4x)

audio

7 models
ModelPrice
Audio Isolation
elevenlabs-audio-isolation
0.2 credits/s
ElevenLabs TTS V2
elevenlabs-tts-v2
6-12 credits
ElevenLabs TTS V3
elevenlabs-text-to-dialogue
14 credits
Input Audio
audio-passthrough
0 credits
Sound Effects V2
elevenlabs-sound-effect-v2
0.24 credits/s
Suno Cover Audio
suno-cover-audio
12 credits
Suno Create Music
suno-create-music
12 credits

text

8 models
ModelPrice
Claude Haiku 4.5
claude-haiku-4-5
2 credits
Claude Opus 4.6
claude-opus-4-6
2-8 credits est.
Claude Sonnet 4.6
claude-sonnet-4-6
1-6 credits est.
DeepSeek
deepseek-chat
2 credits
Gemini 3.1 Pro
gemini-3.1-pro
1-5 credits est.
GPT-5.2
gpt-5.2
2-7 credits est.
Input Text
text-passthrough
0 credits
Prompt Enhancer
prompt-enhancer
4 credits

utility

14 models
ModelPrice
Combine Text
combine-text
0 credits
Composition
composition-render
3 credits
Compositor V2
compositor-v2
3 credits
Extract Frame
extract-frame
2 credits
JSON Parser
json-parser
0 credits
Last Frame
last-frame
2 credits
Noise / Grid Overlay
noise-grid-overlay
~3 credits
Reference Asset
reference-asset
0 credits
Remove Silence
remove-silence
2 credits
Resize / Crop
resize-crop-image
2 credits
Speech to Text
elevenlabs-stt
3.5 credits/min
Text Passthrough
prompt-concatenator
0 credits
Timeline Stitch
timeline-stitch
2 credits
Trim Video
trim-video
2 credits
API documentation

API Reference

Authentication, endpoints, request schema, examples, GPT Actions, MCP setup, and common errors for building integrations.

Start here

Quickstart

The public API is designed around asynchronous media jobs. Send a generation request, store the returned generation_id, then poll until completed or failed.

Generation lifecycle

01

Create an API key from your Kubflow account on a Growth plan or higher.

02

Call POST /api/v1/generations with category, model, prompt, and model params.

03

Poll the returned status_url until status is completed, failed, or canceled.

OpenAPI schema

Use the schema for generated SDKs, GPT Actions, or internal tooling.

https://app.kubflow.com/api/v1/openapi.json
Access

Authentication

Every private endpoint accepts a bearer token. Header aliases are also supported for clients that cannot set Authorization.

Preferred

Authorization: Bearer kf_live_YOUR_KEY

Accepted aliases

x-kubflow-api-key: kf_live_YOUR_KEY
x-api-key: kf_live_YOUR_KEY
Reference

Endpoints

The API surface is intentionally small. Model capability and parameter detail should be read from GET /api/v1/models when building dynamic integrations.

MethodPathPurpose
GET/api/v1/openapi.jsonPublic OpenAPI schema for tooling and GPT Actions.
GET/api/v1/meReturns the authenticated account, plan, and API access state.
GET/api/v1/modelsLists available API models. Optional category=image or category=video.
POST/api/v1/generationsCreates an image or video generation job.
GET/api/v1/generations/{generation_id}Polls job state, progress, result URLs, outputs, and errors.
Payloads

Request schema

Put common fields at the top level. Model-specific controls belong inside params so integrations can swap models without changing the transport shape.

FieldTypeDescription
modelstringRequired. Model id, for example gpt-image-2 or kling-3.0.
categoryimage | videoOptional but recommended. Direct API generation currently accepts image and video.
promptstringTop-level prompt. You can also pass params.prompt.
paramsobjectModel-specific inputs such as aspect_ratio, resolution, duration, image_url, video_url, sound, or mode.
Requests

Examples

These examples cover text-to-image, text-to-video, image-to-video, and status polling. Use real file URLs for image_url or video_url inputs.

curl -X POST https://app.kubflow.com/api/v1/generations \  -H "Authorization: Bearer kf_live_YOUR_KEY" \  -H "Content-Type: application/json" \  -d '{
    "category": "image",
    "model": "gpt-image-2",
    "prompt": "A clean studio product photo of an orange running shoe",
    "params": {
      "aspect_ratio": "1:1",
      "resolution": "1K"
    }
  }'
curl -X POST https://app.kubflow.com/api/v1/generations \  -H "Authorization: Bearer kf_live_YOUR_KEY" \  -H "Content-Type: application/json" \  -d '{
    "category": "video",
    "model": "kling-3.0",
    "prompt": "A slow push-in on a glass perfume bottle with orange reflections",
    "params": {
      "duration": 5,
      "aspect_ratio": "9:16",
      "mode": "pro",
      "sound": false
    }
  }'
curl -X POST https://app.kubflow.com/api/v1/generations \  -H "Authorization: Bearer kf_live_YOUR_KEY" \  -H "Content-Type: application/json" \  -d '{
    "category": "video",
    "model": "veo3",
    "prompt": "Animate the provided product photo into a premium 6 second ad shot",
    "params": {
      "image_url": "https://example.com/product.png",
      "model": "veo3_fast",
      "resolution": "1080p",
      "aspect_ratio": "16:9"
    }
  }'
curl https://app.kubflow.com/api/v1/generations/gen_123 \  -H "Authorization: Bearer kf_live_YOUR_KEY"
{
  "generation_id": "gen_123",
  "status": "completed",
  "progress": 100,
  "result_url": "https://...",
  "outputs": ["https://..."],
  "error": null
}
Automation

GPT Actions

Use the OpenAPI schema as the source of truth, then keep action instructions short and explicit about polling.

Action setup

Import the schema from /api/v1/openapi.json.
Set authentication to API key or bearer token.
For creation calls, always include category, model, and prompt.
After creating a generation, call the status endpoint until the output URL is available.

Suggested instruction

When a user asks to create media, call Kubflow to start the generation. Then poll the returned status_url and return the final result_url or explain the failure from the error field.

Agents

MCP setup

Use Kubflow MCP when Claude Code, Codex, Cursor, ChatGPT, Windsurf, Zed, or another MCP-capable agent should generate images and videos through a Kubflow API key.

What the agent can do

Check the connected Kubflow account and credit balance.
List available image and video models before choosing one.
Start a generation, then poll it until it succeeds or fails.
Return the final result_url only after Kubflow finishes.

Available tools

kubflow_account
kubflow_list_models
kubflow_create_generation
kubflow_get_generation
kubflow_generate_and_wait

Requirements

Kubflow API key from Settings.
Python dependencies from server/requirements.txt.
Local checkout containing server/app/mcp_server.py.
cd server
pip install -r requirements.txt

Environment

Set these variables for the MCP server. Use http://localhost:8000 as the base URL for local backend testing.

KUBFLOW_API_KEY=kf_live_YOUR_KEY
KUBFLOW_API_BASE_URL=https://app.kubflow.com

Claude Code

Local coding agents should use stdio transport.

claude mcp add --transport stdio kubflow \
  --env KUBFLOW_API_KEY=kf_live_YOUR_KEY \
  --env KUBFLOW_API_BASE_URL=https://app.kubflow.com \
  -- python C:/path/to/Cubeflow/server/app/mcp_server.py

Codex config.toml

[mcp_servers.kubflow]
command = "python"
args = ["C:/path/to/Cubeflow/server/app/mcp_server.py"]
startup_timeout_sec = 20
tool_timeout_sec = 180
enabled = true

[mcp_servers.kubflow.env]
KUBFLOW_API_KEY = "kf_live_YOUR_KEY"
KUBFLOW_API_BASE_URL = "https://app.kubflow.com"

Cursor .cursor/mcp.json

{
  "mcpServers": {
    "kubflow": {
      "command": "python",
      "args": ["C:/path/to/Cubeflow/server/app/mcp_server.py"],
      "env": {
        "KUBFLOW_API_KEY": "kf_live_YOUR_KEY",
        "KUBFLOW_API_BASE_URL": "https://app.kubflow.com"
      }
    }
  }
}

Hosted MCP

Use Streamable HTTP behind HTTPS. Add OAuth or per-user auth before public multi-user use.

$env:KUBFLOW_API_KEY = "kf_live_YOUR_KEY"
$env:KUBFLOW_API_BASE_URL = "https://app.kubflow.com"
$env:KUBFLOW_MCP_HOST = "0.0.0.0"
$env:KUBFLOW_MCP_PORT = "8000"
python C:/path/to/Cubeflow/server/app/mcp_server.py --transport streamable-http
https://your-domain.example/mcp

Suggested instructions

Use Kubflow when the user asks to generate an image or video.
List models first if the user has not chosen one.
Create a generation, then poll status until it succeeds or fails.
Return result_url only after Kubflow returns it.
Do not start duplicate generations unless the user asks for another attempt.
Kubflow API calls spend the connected account's credits.
Debugging

Common errors

Most integration issues are authentication, plan access, missing prompt or model fields, unsupported category, or provider-specific parameter mismatches.

StatusMeaningFix
401Missing or invalid API key.Send Authorization: Bearer kf_live_YOUR_KEY or a supported API key header.
403Account plan does not have API access.Use a Growth plan or an approved account.
400Missing model, prompt, category, or required params.Check the model table and GET /api/v1/models for required inputs.
404Generation was not found for the authenticated user.Confirm generation_id and API key ownership.
5xxProvider or Kubflow processing error.Retry later or surface the returned error message.

05

Ready to start?

Get in touch

Whether you have questions or just want to explore options, we’re here.

By submitting, you agree to our Terms and Privacy Policy.

We are Based in London

Soft abstract gradient with white light transitioning into purple, blue, and orange hues

05

Ready to start?

Get in touch

Whether you have questions or just want to explore options, we’re here.

By submitting, you agree to our Terms and Privacy Policy.

We are Based in London

Soft abstract gradient with white light transitioning into purple, blue, and orange hues

05

Ready to start?

Get in touch

Whether you have questions or just want to explore options, we’re here.

By submitting, you agree to our Terms and Privacy Policy.

We are Based in London

Soft abstract gradient with white light transitioning into purple, blue, and orange hues

Go To App

Go To App