API reference · KwaiVGI
kwaivgi/kolors/image-to-image
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/runModel ID
kwaivgi/kolors/image-to-image01
Input Schema
9 parameters · 2 required · 7 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Required | URL of image to use for image to image |
prompt | string | Required | The prompt to generate an image from. |
seed | integer | Optional | Seed |
strength | number | Optional | The strength to use for image-to-image. 1.0 is completely remakes the image while 0.0 preserves the original. · Min: 0.01 · Max: 1 · Default: 0.85 |
scheduler | string | Optional | The scheduler to use for the model. · Options: EulerDiscreteScheduler, EulerAncestralDiscreteScheduler, DPMSolverMultistepScheduler, DPMSolverMultistepScheduler_SDE_karras, UniPCMultistepScheduler, DEISMultistepScheduler · Default: "EulerDiscreteScheduler" EulerDiscreteSchedulerEulerAncestralDiscreteSchedulerDPMSolverMultistepSchedulerDPMSolverMultistepScheduler_SDE_karrasUniPCMultistepSchedulerDEISMultistepScheduler |
aspect_ratio | string | Optional | The aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 21:916:93:24:35:41:14:53:42:39:16 |
output_format | string | Optional | The format of the generated image. · Options: jpeg, png · Default: "png" jpegpng |
guidance_scale | number | Optional | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you. · Min: 1 · Max: 10 · Default: 5 |
num_inference_steps | integer | Optional | The number of inference steps to perform. · Min: 1 · Max: 150 · Default: 50 |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
03
Code Examples
Ready-to-run snippets
const apiKey = process.env.SANDBASE_API_KEY;
const response = await fetch("https://api.sandbase.ai/v1/run", {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "kwaivgi/kolors/image-to-image",
"image": "https://static.sandbase.ai/examples/kwaivgi/kolors/image-to-image/input_image_0.png",
"prompt": "high quality image of a capybara wearing sunglasses. In the background of the image there are trees, poles, grass and other objects. At the bottom of the object there is the road., 8k, highly detailed.",
"strength": 0.85,
"scheduler": "EulerDiscreteScheduler",
"output_format": "png",
"guidance_scale": 5,
"num_inference_steps": 50
}),
});
if (!response.ok) throw new Error(await response.text());
let result = await response.json();
for (let attempt = 0; attempt < 120 && !["completed", "failed", "timeout"].includes(result.status); attempt++) {
await new Promise((resolve) => setTimeout(resolve, 2_000));
const poll = await fetch(`https://api.sandbase.ai/v1/run/${result.id}`, {
headers: { Authorization: `Bearer ${apiKey}` },
});
if (!poll.ok) throw new Error(await poll.text());
result = await poll.json();
}
if (result.status !== "completed") throw new Error(`Generation ended: ${result.status}`);
console.log(result);