Kling O1 Image
kwaivgi/kling-image/o1Kling Image O1 by KwaiVGI - AI-powered image editing, style transfer, and transformation. Edit photos with natural language instructions, remove backgrounds, change styles, and enhance images effortlessly.
- Base price
- $0.03USD / run
- Execution
- async
- Model type
- image
- Input fields
- 6
Try the model
Playground
PNG, JPEG, WebP, or GIF · 20 MiB maximum each
Your output will appear here
Complete the inputs, then click Run.
Model card
Specifications
Pricing
- Base price
- $0.03 / run
Context & modalities
- Input
- Schema-defined
- Output
- image
Capabilities
- Chat
- Not supported
- Vision
- Not supported
- Reasoning
- Not supported
- Structured output
- Not supported
- Function calling
- Not supported
- Audio input
- Not supported
Access
- Provider
- KwaiVGI
- Model ID
- kwaivgi/kling-image/o1
- Execution
- async
- Base URL
- https://api.sandbase.ai
- API
- Unified Run API
- Endpoint
- /v1/run
API README
Kling Image O1
Kling Image O1 is an instruction-driven image editor for compositions assembled from existing visual material. Rather than starting from an empty canvas, it lets the prompt address uploaded images and reusable character or object elements by name.
That reference system is unusually practical for a complex edit: up to ten images and elements can participate, while the output can be framed in ten aspect ratios and rendered at 1K or 2K. PNG and JPEG delivery make the endpoint easy to place in a downstream design workflow.
Highlights
Reference-aware composition. Call out source images as @Image1 and reusable subjects as @Element1, so the instruction can say where each asset belongs.
Room for a full visual cast. The combined allowance reaches ten reference images and elements, with as many as three additional views available for an element.
Layout choices built in. Ten aspect ratios cover wide, landscape, square, portrait, and tall outputs without requiring a separate crop step.
Delivery-ready controls. Select 1K or 2K resolution and return the edit as PNG or JPEG.
Pricing
| Billing unit | Price |
|---|---|
| Per request | $0.028 |
When to Use
| ✅ Good fit | ❌ Consider alternatives |
|---|---|
| The model's named workflow matches the source material and intended output | A different input modality or model route is required |
| A managed asynchronous result is suitable for the production pipeline | A synchronous, interactive editor is essential |
| The documented controls cover the required duration, framing, or format | The project needs controls outside this endpoint's schema |
| Creative iteration benefits from a repeatable request structure | Exact deterministic pixels, frames, geometry, or samples are mandatory |
| A finished downloadable media asset is the desired deliverable | Editable source layers or a native project file are required |
Prompt Guide
For generation, state the intended result first, then add the subject or source treatment, progression, style, and delivery constraints. Keep one creative variable per phrase, use the documented field names for controls, and change one setting at a time when comparing results.
{
"aspect_ratio": "21:9",
"images": [
"https://static.sandbase.ai/examples/kwaivgi/kling-image/o1/input_images_0.png"
],
"output_format": "png",
"prompt": "Put @Image1 to the back seat of the car in @Image2, put @Element1 on to the @Image1",
"resolution": "1K"
}
Technical Specs
| Spec | Value |
|---|---|
| Model ID | kwaivgi/kling-image/o1 |
| Inputs | aspect_ratio, elements, images, output_format, prompt, resolution |
| Required inputs | prompt |
| Output fields | content_type, url |
| Execution | Async (submit, then poll for result) |
| Resolution | 1K / 2K |
| Aspect Ratio | 21:9 / 16:9 / 3:2 / 4:3 / 5:4 / 1:1 / 4:5 / 3:4 / 2:3 / 9:16 |
| Output Format | jpeg / png |
Related Models
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "kwaivgi/kling-image/o1",
"images": [
"https://static.sandbase.ai/examples/kwaivgi/kling-image/o1/input_images_0.png",
"https://static.sandbase.ai/examples/kwaivgi/kling-image/o1/input_images_1.png"
],
"prompt": "Put @Image1 to the back seat of the car in @Image2, put @Element1 on to the @Image1",
"elements": [
{
"frontal_image_url": "https://storage.googleapis.com/falserverless/example_inputs/kling-image-o1/element-1-front.png",
"reference_image_urls": [
"https://storage.googleapis.com/falserverless/example_inputs/kling-image-o1/element-1-reference.png"
]
}
],
"resolution": "1K",
"output_format": "png"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Choose your model
Compare models
| Model | Type | Default price | Released |
|---|---|---|---|
Kling O1 ImageThis model KwaiVGI | Image | $0.03 / run | Dec 1, 2025 |
KwaiVGI | Image | $0.03 / run | Feb 3, 2026 |
KwaiVGI | Image | $0.03 / run | Feb 3, 2026 |
Questions
FAQ
How do I call KwaiVGI Kling O1 Image through SandBase?
Create a SandBase API key, then send requests with the model ID "kwaivgi/kling-image/o1" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.
Do I need a separate KwaiVGI account?
No. One SandBase API key and balance gives you access to KwaiVGI Kling O1 Image and the other models in the catalog; you do not need to sign up with KwaiVGI separately.
