imagesarrayrequired
List of reference images. Reference images in prompt using @Image1, @Image2, etc. (1-indexed). Max 10 images.
kwaivgi/kling-image/o3/editKling Image O3 Edit by Kuaishou edits or recomposes images from a text instruction using up to 10 reference images, with 1K, 2K, or 4K output.
Try the model
PNG, JPEG, WebP, or GIF · 20 MiB maximum each
Customize your input with more control.
Select an example to load its inputs and result into the playground.
{
"images": [
"https://static.sandbase.ai/examples/1a588da4-8a64-49ca-ad13-6a2efe9bf164/input/e4cacf41-40f9-4c26-b397-7862af7bd5d9.png"
],
"prompt": "Transform into photorealistic 3D render, add proper lighting and shadows, realistic materials and textures, maintain exact proportions and design from sketch, product visualization quality"
}Human preference
Elo ratings from blind side-by-side votes, compared with other image and video models.
Rankings sourced from Artificial Analysis Arena
Image-editing arena: people pick the better of two edits of the same image and instruction, without seeing the model names.
Kling Image O3 edit: change or combine images with an instruction, up to 4K.
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string, required | — | Up to 2,500 characters. |
images | image URL[], required | — | Images to edit or combine, @Image1, @Image2, … |
resolution | 1K / 2K / 4K | 1K | Sets the per-image rate. |
output_format | jpeg / png | png | Output file format. |
aspect_ratio | 21:9 / 16:9 / 3:2 / 4:3 / 5:4 / 1:1 / 4:5 / 3:4 / 2:3 / 9:16 | 16:9 | Output shape. |
$0.028 per image at 1K or 2K and $0.056 at 4K.
| Request | 1K | 2K | 4K |
|---|---|---|---|
| One image | $0.028 | $0.028 | $0.056 |
Failed runs are not charged.
Related: kwaivgi/kling-image/o3.
Start building
Submit this model through the SandBase Unified Run API.
# 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/o3/edit",
"images": [
"https://static.sandbase.ai/examples/kwaivgi/kling-image/o3/edit/output_url_0.png"
],
"prompt": "Transform into photorealistic 3D render, add proper lighting and shadows, realistic materials and textures, maintain exact proportions and design from sketch, product visualization quality",
"resolution": "1K",
"aspect_ratio": "16:9",
"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"Create a SandBase API key and set it in your server environment. All requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep the key on your server. Do not expose it in browser code or commit it to a repository.
POST to /v1/run with this model ID and its inputs. The request example above includes submission and polling.
Use the returned run ID to poll until the status is completed, failed or timeout. Read output only after completed.
curl "https://api.sandbase.ai/v1/run/$RUN_ID" \
-H "Authorization: Bearer $SANDBASE_API_KEY"Pass a publicly accessible file URL in the model’s image, video or audio field. Supported formats and limits are shown beside each Playground input.
Use the upload or replace control on supported image fields in the Playground. Video URL fields accept a hosted driving video; they do not imply video-upload support.
imagesarrayrequiredList of reference images. Reference images in prompt using @Image1, @Image2, etc. (1-indexed). Max 10 images.
promptstringrequiredText prompt for image generation. Reference images using @Image1, @Image2, etc. (or @Image if only one image). Max 2500 characters.
resolutionstringImage generation resolution. 1K: standard, 2K: high-res, 4K: ultra high-res.
Default: "1K"
Possible values: "1K", "2K", "4K"
aspect_ratiostringThe aspect ratio of the generated image.
Default: "16:9"
Possible values: "21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16"
output_formatstringThe format of the generated image.
Default: "png"
Possible values: "jpeg", "png"
{
"model": "kwaivgi/kling-image/o3/edit",
"images": [
"https://static.sandbase.ai/examples/kwaivgi/kling-image/o3/edit/output_url_0.png"
],
"prompt": "Transform into photorealistic 3D render, add proper lighting and shadows, realistic materials and textures, maintain exact proportions and design from sketch, product visualization quality",
"resolution": "1K",
"aspect_ratio": "16:9",
"output_format": "png"
}A completed run exposes its result in output. The following is the model’s saved example, not a new generation.
[
{
"source": "Kling AI official schema mirror",
"source_url": "https://kling.ai/document-api/guides/get-started/overview",
"url": "https://static.sandbase.ai/examples/1a588da4-8a64-49ca-ad13-6a2efe9bf164/output/0bdcdf61-324f-4e6b-9f01-6e1719810bf5.png"
}
]