API Free WeekHundreds of APIs are free to call this week.Browse free APIs
API reference · Ideogram

ideogram/4.5/edit

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

IMAGEAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDideogram/4.5/edit
01

Input Schema

8 parameters · 2 required · 6 optional

ParameterTypeRequiredDescription
imagestringRequiredPrimary source image to edit.
promptstringRequiredThe generation or editing prompt. · Min length: 1 · Max length: 10000
maskstringOptionalMask matching the source dimensions. Black edits, white preserves. Must contain both regions after rounding.
seedintegerOptionalRandom seed. Omit to choose automatically.
qualitystringOptionalQuality tier for either edit precision. Defaults to medium. · Options: very_low, low, medium, high · Default: "medium"
very_lowlowmediumhigh
aspect_ratiostringOptionalThe 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
edit_precisionstringOptionalregular uses Generate; high uses Precise Edit with unchanged-pixel restoration. Both always prepare structured edit instructions. · Options: regular, high · Default: "regular"
regularhigh
reference_image_urlsstring[]OptionalUp to four references plus the primary source, or three references plus the primary source and mask.
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from 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": "ideogram/4.5/edit",
    "prompt": "A colorful storefront with a sign reading hello",
    "quality": "medium",
    "edit_precision": "regular"
  }),
});

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);