CherryImage 1.0 Pro

High-fidelity text-to-image and reference-based image editing up to 2K resolution.

Sakuranbo AI ·

Opens the Playground in the dashboard.

View llms.txt

Sakuranbo AI is in preview.

Overview

CherryImage 1.0 Pro generates images from text prompts of up to 5,000 characters and edits images with 1 to 10 reference images. Choose 1K, 1.5K, or 2K output and an aspect ratio; pricing is per image by resolution.

Facts

Model ID
sakuranbo/cherryimage-1.0-pro
Vendor
Sakuranbo AI
Modality
Image
Tasks
Text to image & Image editing
Upstream status
GA (upstream)
Last updated
2026-10-28

Capabilities

Input
Text & Image
Output
Image
Resolutions
1k, 1.5k, 2k
Aspect ratios
auto, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9
Streaming
No
Asynchronous job
Yes

Data policy

  • Generated files are kept for 7 days and then deleted.
  • Prompts are not stored. Only request metadata is kept.
  • Your request is forwarded to an upstream provider that runs the model.

See the measured success rate and generation time of this model

API

Call this model with its ID, sakuranbo/cherryimage-1.0-pro.

Estimate the price

POST /v1/estimate takes a JSON body ({ model, input }) and returns the price for that input before you run it. This endpoint does not need an API key.

curl -X POST "https://api.sakuranbo.ai/v1/estimate" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "sakuranbo/cherryimage-1.0-pro",
  "input": {
    "prompt": "A matte ceramic coffee mug on a walnut desk, soft morning light, shallow depth of field",
    "resolution": "2k",
    "aspect_ratio": "4:3"
  }
}'
const response = await fetch("https://api.sakuranbo.ai/v1/estimate", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "sakuranbo/cherryimage-1.0-pro",
    "input": {
      "prompt": "A matte ceramic coffee mug on a walnut desk, soft morning light, shallow depth of field",
      "resolution": "2k",
      "aspect_ratio": "4:3"
    }
  }),
});
const data = await response.json();
console.log(data);
import requests

response = requests.post(
    "https://api.sakuranbo.ai/v1/estimate",
    json={
        "model": "sakuranbo/cherryimage-1.0-pro",
        "input": {
            "prompt": "A matte ceramic coffee mug on a walnut desk, soft morning light, shallow depth of field",
            "resolution": "2k",
            "aspect_ratio": "4:3",
        },
    },
)
print(response.json())

Generate

Send generation requests to /v1/images/generations. The request below uses an example input from the catalog for this model.

Listing and fetching models and estimating prices need no API key. Generation requests need an API key: Authorization: Bearer YOUR_API_KEY

curl -X POST "https://api.sakuranbo.ai/v1/images/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SAKURANBO_API_KEY" \
  -d '{
  "model": "sakuranbo/cherryimage-1.0-pro",
  "prompt": "A matte ceramic coffee mug on a walnut desk, soft morning light, shallow depth of field",
  "resolution": "2k",
  "aspect_ratio": "4:3"
}'
const response = await fetch("https://api.sakuranbo.ai/v1/images/generations", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.SAKURANBO_API_KEY}`,
  },
  body: JSON.stringify({
    "model": "sakuranbo/cherryimage-1.0-pro",
    "prompt": "A matte ceramic coffee mug on a walnut desk, soft morning light, shallow depth of field",
    "resolution": "2k",
    "aspect_ratio": "4:3"
  }),
});
const data = await response.json();
console.log(data);
import os

import requests

response = requests.post(
    "https://api.sakuranbo.ai/v1/images/generations",
    headers={
        "Authorization": f"Bearer {os.environ['SAKURANBO_API_KEY']}",
    },
    json={
        "model": "sakuranbo/cherryimage-1.0-pro",
        "prompt": "A matte ceramic coffee mug on a walnut desk, soft morning light, shallow depth of field",
        "resolution": "2k",
        "aspect_ratio": "4:3",
    },
)
print(response.json())

Read the Images guide

Parameters

Request fields for this model.

NameTypeRequiredDefaultConstraintsDescription
promptstringYesUp to 5,000 charactersText description of the image to generate or the edit to apply.
imagesurl[]NoUp to 10 itemsReference images for editing (1 to 10). Required on /v1/images/edits.
resolutionenumNo2kOne of: 1k, 1.5k, 2kOutput resolution. Determines the per-image price.
nintegerNo11 to 100Number of images to generate (1 to 100). The price is the per-image price times this value.
aspect_ratioenumNoautoOne of: auto, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9Aspect ratio of the output image.
output_formatenumNojpegOne of: jpeg, pngImage file format.

Pricing

Prices are in USD and include our margin. Failed, cancelled, expired, and policy-rejected runs are not billed. For chat, once the model has started generating output (including reasoning output), the output it generates is billed, even if the stream breaks or you close the connection.

DimensionUnitConditionPrice
Output imageper imageresolution: 1k$0.045
Output imageper imageresolution: 1.5k$0.05
Output imageper imageresolution: 2k$0.09

Price examples

Examples use the listed prices. The server calculates the final charge from actual usage.

ExampleTotal
1 × 1K image$0.045
1 × 1.5K image$0.05
1 × 2K image$0.09
100 × 2K images$9.00

Default run: $0.09 (1 image, 2K)

Pricing

Schema

JSON Schema of the input fields, generated from the catalog.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "maxLength": 5000,
      "description": "Text description of the image to generate or the edit to apply."
    },
    "images": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "maxItems": 10,
      "description": "Reference images for editing (1 to 10). Required on /v1/images/edits."
    },
    "resolution": {
      "type": "string",
      "enum": [
        "1k",
        "1.5k",
        "2k"
      ],
      "default": "2k",
      "description": "Output resolution. Determines the per-image price."
    },
    "n": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 1,
      "description": "Number of images to generate (1 to 100). The price is the per-image price times this value."
    },
    "aspect_ratio": {
      "type": "string",
      "enum": [
        "auto",
        "1:1",
        "4:3",
        "3:4",
        "16:9",
        "9:16",
        "3:2",
        "2:3",
        "21:9"
      ],
      "default": "auto",
      "description": "Aspect ratio of the output image."
    },
    "output_format": {
      "type": "string",
      "enum": [
        "jpeg",
        "png"
      ],
      "default": "jpeg",
      "description": "Image file format."
    }
  },
  "required": [
    "prompt"
  ]
}