Skip to main content
KuaishouMediumUltra

Kling O1 Image

Kling O1 performs precise image edits under strong reference control. Supply up to 10 reference images and character elements, then address them directly in the prompt as @Image1 or @Element1 to transform subjects, styles, and local details while preserving visual consistency.

66 credits
per image, same price at either resolution
Address references directly in the prompt with @Image1 / @Element1
Up to 10 reference images and character elements combined
Character elements with frontal plus additional reference views
1K and 2K output at the same price
Up to 9 images per request

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "fal-ai/kling-image/o1",
  "input": {
    "prompt": "Place @Image1 on the marble counter in @Image2, matching the warm window light and keeping the product label fully legible",
    "image_urls": [
      "https://storage.googleapis.com/falserverless/example_inputs/kling-image-o1/input.png",
      "https://storage.googleapis.com/falserverless/example_inputs/kling-image-o1/input-2.png"
    ],
    "resolution": "1K",
    "aspect_ratio": "auto",
    "num_images": 1
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
promptstringYes-Text prompt, up to 2500 characters. Reference the supplied images as @Image1, @Image2, ... (1-indexed; use @Image when there is only one) and character elements as @Element1, @Element2, ...
image_urlsarrayYes-Reference images, 1-indexed in the prompt as @Image1, @Image2, ... Maximum 10 including elements.
elementsarrayNo-Characters or objects to include, referenced as @Element1, @Element2, ... Each element takes a frontal_image_url plus optional reference_image_urls. Maximum 10 including reference images.
resolutionstringNo1KOutput resolution. 1K is standard, 2K is high-res. Both cost the same.
1K2K
num_imagesintegerNo1Number of images to generate (1-9). Charged per image.
aspect_ratiostringNoautoAspect ratio of the generated images. 'auto' picks one based on the input content.
auto21:916:93:24:31:13:42:39:16
output_formatstringNopngThe format of the generated image.
jpegpngwebp

How to Provide File Input

There are 3 ways to provide files for the image_urls parameter:

Recommended

Image URL

Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.

{
  "model": "fal-ai/kling-image/o1",
  "input": {
    "prompt": "your prompt here",
    "image_urls": ["https://example.com/image.jpg"]
  }
}

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=fal-ai/kling-image/o1" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:image_urls=@your_file.png"
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Product placement across two references

@Image1 is the product, @Image2 is the scene. Naming both in one sentence tells the model exactly what goes where.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "fal-ai/kling-image/o1",
  "input": {
    "prompt": "Place @Image1 on the marble counter in @Image2, matching the warm window light and keeping the product label fully legible",
    "image_urls": [
      "https://storage.googleapis.com/falserverless/example_inputs/kling-image-o1/input.png",
      "https://storage.googleapis.com/falserverless/example_inputs/kling-image-o1/input-2.png"
    ],
    "resolution": "1K",
    "aspect_ratio": "auto",
    "num_images": 1
  }
}'

Character element in a new scene

An element carries a frontal view plus extra angles, which holds the character steady across generations better than a single flat reference.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "fal-ai/kling-image/o1",
  "input": {
    "prompt": "Put @Element1 in the driver's seat of the car in @Image1, keep the face and outfit identical, evening city lights outside",
    "image_urls": [
      "https://storage.googleapis.com/falserverless/example_inputs/kling-image-o1/input.png"
    ],
    "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": "2K",
    "num_images": 1
  }
}'

Tips & Best Practices

1Always name your references explicitly: @Image1, @Image2, @Element1. A prompt that just says 'the product' leaves the model to guess which input you meant.
22K costs the same as 1K, so there is no price reason to stay at 1K when you want the detail.
3For a recurring character, use elements rather than plain reference images โ€” the frontal plus extra views hold identity far better.
4Reference images and elements share one budget of 10 items total, not 10 each.
5num_images is charged per image, so a 9-image request costs nine times a single one.

Use Cases

Product placement into a new scene while keeping the label legible
Consistent character across a series of illustrations
Compositing multiple references into one coherent frame
Local retouching that must preserve the rest of the image