---
title: "Seedream 4.5 JSON Prompt Guide - ARK Image API 2026"
description: "Seedream 4.5 on ARK images/generations: doubao-seedream-4-5-251128, the real size rules (lowercase x, 2K minimum), watermark, and 3 copy-paste request bodies."
canonical: "https://aicontentdrop.com/blog/seedream-4-5-json-prompt-guide"
source: "https://aicontentdrop.com/blog/seedream-4-5-json-prompt-guide"
---
**Short answer:** Seedream 4.5 is called as `doubao-seedream-4-5-251128` on `POST https://ark.cn-beijing.volces.com/api/v3/images/generations`, and it returns the image synchronously. **The field that trips up newcomers is `size`: it uses a lowercase `x` separator (never an asterisk), and ARK requires 3,686,400 to 16,777,216 total pixels — so `"2K"` or `"2048x2048"` works and `"1024x1024"` is rejected. 4.5 supports 2K and 4K only.** Also note `watermark` defaults to `true`. Every field, allowed values and three copy-paste bodies are below.

## What this guide does

Seedream 4.5 is Bytedance's lowest-cost image model — four credits per generation on AI Content Drop, making it the most budget-friendly option in the entire lineup for high-volume creative work. This guide breaks down every field in its JSON request body, gives you three ready-to-paste examples for real ad workflows, and tells you exactly when to use Seedream 4.5 versus its direct upgrade, [Seedream 5.0 Lite](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide). By the end you will be able to send your first request to Seedream 4.5 and understand what every field controls.

If you have never called an AI model API before, that is completely fine — every term is defined the first time it appears. You do not need to know how to write code, but working curl and JavaScript snippets are in section 7 if you want to try the direct API route. If you want to generate an image right now without any setup at all, head to [AI Content Drop's image generator](https://aicontentdrop.com/best-ai-video-generator) and paste your prompt there — no API key required.

## What is Seedream 4.5?

Seedream 4.5 is a text-to-image (T2I) model built by Bytedance — the company behind TikTok and Douyin — and served through the official [Volcano Engine ARK API](https://docs.volcengine.com/docs/82379). You give it a text description — called a prompt — and it returns a still image. Text-to-image means the model generates purely from words; it does not accept an existing image as input (that would be image-to-image). Seedream 4.5 sits one generation below Seedream 5.0 Lite in the Bytedance image stack: same underlying ARK infrastructure, lower per-call cost, and slightly less refinement in fine details. Its strongest use case is high-volume concept generation — batch product angles, background explorers, social-ad layout tests — where you need dozens of competent images quickly and cheaply. What it cannot do is generate video, audio, or embedded text with high fidelity.

On [AI Content Drop](https://aicontentdrop.com/best-ai-video-generator) Seedream 4.5 costs **4 credits per generation** — verified directly from the platform's credit table. Compare that to [Seedream 5.0 Lite at 5 credits](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide): one credit cheaper per image means that for a 50-image batch the total drops from 250 credits to 200 credits — a 20 percent saving. The platform uses post-deduct billing, which means credits are only charged after a successful generation. If the generation fails or the provider returns an error, no credits leave your account. For a broader look at which image models suit different ad formats and budgets, see our [best AI image models for video ad angles](https://aicontentdrop.com/blog/best-ai-image-models-for-video-ad-angles-2026) guide.

## The complete doubao-seedream-4-5-251128 JSON request body

Below is the full request body you send to the official Volcano Engine ARK API to generate an image with Seedream 4.5. JSON stands for JavaScript Object Notation — a plain-text format that APIs use to send structured requests. The content inside the curly braces is a set of key–value pairs, where each key names a setting and each value sets what that setting is. You can copy this block, fill in your own prompt, and run it immediately.

```
{
  "model": "doubao-seedream-4-5-251128",
  "prompt": "A clean flat-lay of a matte black protein powder canister on a white marble surface, soft studio lighting from the upper left, commercial product photography, sharp focus, 8k resolution.",
  "size": "2048x2048",
  "n": 1,
  "response_format": "url",
  "seed": 42,
  "guidance_scale": 7.5
}
```

The `model` field identifies which model to run. The `prompt` field is your image description. The `size` field controls pixel dimensions — it uses a lowercase `x` separator, and it has a minimum: ARK rejects anything under 3,686,400 total pixels, so `2K` (or an explicit size like `2048x2048`) is the smallest thing 4.5 will accept. The remaining fields control how many images to produce, how the result is delivered, reproducibility, and how strictly the model follows your prompt. Every field is covered in detail in the next section.

## Field-by-field breakdown

Let's go through every field in the JSON request one at a time. For each field you will find: what type of value it expects, whether you must include it, what the default is if you leave it out, the allowed values or range, and a side-by-side comparison of a well-set value versus a poorly-set one.

### model

**Type:** string | **Required:** Yes | **Default:** none

This tells the ARK API which model to route your request to. For Seedream 4.5 you pass the exact string `"seedream-4.5"`. The model ID must match exactly — a typo, an extra space, or the wrong casing will return a 404 model-not-found error. Note that the Bytedance model family uses hyphens and dots in IDs (for example, `seedream-4.5` and `doubao-seedream-5-0-lite`), not underscores.

- Good:
  
  "seedream-4.5"
- Bad:
  
  "seedream_4_5"
  
  or
  
  "Seedream-4.5"
  
  — the model registry is case-sensitive and underscore-sensitive; both will result in a model-not-found error.

### prompt

**Type:** string | **Required:** Yes | **Max length:** varies — consult the [latest ARK documentation](https://docs.volcengine.com/docs/82379) for the current character limit

The prompt is your natural-language instruction to the model. It describes the subject, composition, lighting, style, and any other visual detail you want the model to produce. Seedream 4.5 follows the prompt closely for overall layout and subject placement. Specific, dense prompts produce targeted images; short, vague prompts produce generic ones that the model fills in on its own — almost never what you want for ad creative. For a deeper dive into effective prompt writing, read our [AI prompt engineering secrets](https://aicontentdrop.com/blog/ai-prompt-engineering-secrets) guide.

- Good:
  
  "A matte black protein powder canister on white marble, soft studio lighting from upper left, commercial product photography, sharp focus, 8k"
  
  — specific subject, surface, light direction, and quality cues.
- Bad:
  
  "A protein powder tub"
  
  — the model invents the background, lighting, and style on its own; rarely matches your brand intent.

### size

**Type:** string | **Required:** No | **Default:** `"2K"`

Controls the pixel dimensions of the output image. You can pass the shorthand `"2K"` or `"4K"`, or an explicit `width`x`height` string with a **lowercase letter "x"** as the separator. **The trap that actually costs newcomers a request is the minimum, not the separator: ARK requires 3,686,400 to 16,777,216 total pixels, so `"1024x1024"` (1,048,576 pixels) is rejected with an InvalidParameter error on Seedream 4.5.** Seedream 4.5 accepts 2K and 4K only — 1K exists on Seedream 4.0 and nowhere newer. Pick the size that matches the placement of the image: portrait for TikTok and Stories, landscape for banners and YouTube thumbnails, square for feed posts and product cards. The full list of accepted values is in the reference table below and should also be confirmed against the [Volcano Engine ARK docs](https://docs.volcengine.com/docs/82379) as supported sizes may expand over time.

- Good:
  
  "1440x2560"
  
  for a TikTok or Instagram Story ad — 9:16, and exactly on the 3,686,400-pixel floor.
- Bad:
  
  "1024x1792"
  
  — the separator is right but the image is only 1.8 megapixels, under the ARK minimum, so the request fails validation before the model runs.

### n

**Type:** integer | **Required:** No | **Default:** `1`

The number of images to generate in a single request. For most use cases, `1` is the right choice. You can request multiple images at once for variant testing — each image in the batch consumes its own credits. On AI Content Drop, each image in a multi-image request draws 4 credits separately.

- Good:
  
  1
  
  — easy to iterate on the prompt and understand what changed between runs.
- Bad:
  
  8
  
  with an untested prompt — you burn 32 credits on eight mediocre variants. Refine the prompt to one good result first, then batch.

### response_format

**Type:** string (enum) | **Required:** No | **Default:** `"url"`

Controls how the finished image is returned to you. `"url"` returns a temporary download link you can open in a browser or pass to an `<img>` tag. `"b64_json"` returns the image as a base64-encoded string — a text representation of the raw image bytes — which you decode and save locally. URLs are simpler for quick viewing and testing; base64 is better for automated pipelines where you want to process or store the image immediately in code.

- Good:
  
  "url"
  
  when you want to preview or download the result quickly without writing any code.
- Bad:
  
  "url"
  
  in an automated pipeline — ARK URLs are temporary and expire; use
  
  "b64_json"
  
  and save the bytes to your own storage immediately.

### seed

**Type:** integer | **Required:** No | **Default:** random

A seed is a number that initialises the model's random number generator. Think of it as a starting position in the model's creative space. Using the same seed with the same prompt produces a visually similar (though not always identical) output across runs. This is useful for A/B testing: fix the seed, change one phrase in your prompt, and re-run — you can see the isolated effect of that phrase change without the model exploring a completely different direction.

- Good:
  
  any integer (e.g.,
  
  42
  
  ) when comparing two prompt variants — consistent seed isolates the variable you are testing.
- Bad:
  
  fixing the seed when you want creative variety — you will keep getting similar compositions even if you rewrite the prompt dramatically. Omit the seed when exploring.

### guidance_scale

**Type:** number | **Required:** No | **Default:** model-chosen (typically around 7.0) | **Range:** approximately 1.0–20.0 — confirm the exact bounds in the [ARK docs](https://docs.volcengine.com/docs/82379)

Guidance scale — also called CFG scale in many tools — controls how strictly the model follows your prompt versus adding its own creative interpretation. A low value (such as 3) gives the model more freedom and tends to produce looser, painterly, or more artistic results. A high value (such as 15 or above) forces literal adherence to the prompt but can introduce visual artifacts and over-saturated colors at extreme settings. For most commercial image use cases — product shots, lifestyle scenes, ad backgrounds — a value between 6 and 9 is the safe sweet spot.

- Good:
  
  7.5
  
  for a product shot — balances prompt fidelity with a natural-looking output.
- Bad:
  
  18
  
  for a lifestyle scene — over-guidance typically produces unnaturally saturated colors and distorted proportions that break the photographic realism you are aiming for.

## Allowed values reference table

Here is a single reference table you can bookmark and return to. For fields marked "confirm in ARK docs", the allowed set may have expanded since this guide was written — always verify against the [Volcano Engine ARK documentation](https://docs.volcengine.com/docs/82379).

| Field | Allowed values | Best for |
| --- | --- | --- |
| model | `seedream-4.5` | Always use this exact string for Seedream 4.5 |
| size: 2048x2048 | Square (note the `*` separator) | Instagram feed posts, product cards, Google Display ads |
| size: 1440x2560 | Portrait (tall) | TikTok, Instagram Story, Reels, mobile full-screen ads |
| size: 2560x1440 | Landscape (wide) | YouTube thumbnails, banners, landing page hero images |
| n | 1–8 (confirm in ARK docs) | 1 for prompt refinement; higher for batch variant generation |
| response_format | `url`, `b64_json` | url for quick preview; b64_json for automated pipelines |
| seed | Any integer; omit for random | Fix for A/B prompt tests; omit for exploratory generation |
| guidance_scale | ~1.0–20.0; default ~7.0 | 6–9 for commercial imagery; lower (3–5) for artistic/loose styles |

## 3 working copy-paste examples

### Example 1: E-commerce product shot

```
{
  "model": "doubao-seedream-4-5-251128",
  "prompt": "A white glass skincare serum bottle on a pale sage-green linen surface, soft diffused daylight from the right, commercial product photography, clean minimal background, sharp focus on the bottle label, 8k resolution.",
  "size": "2048x2048",
  "n": 1,
  "response_format": "url",
  "seed": 1001,
  "guidance_scale": 8
}
```

This prompt gives the model a clear subject (serum bottle), surface (linen), light direction (right), and style (commercial product photography). Fixing the seed at 1001 lets you swap "sage-green" for "pale cream" and re-run with the same seed to compare the two colorways side by side — a classic A/B test loop. At 4 credits per image, running 10 colorway variants costs 40 credits — well within a single sitting on any plan. Square format works for Instagram feed and Google Shopping product cards without cropping. Guidance at 8 keeps the composition tight and on-brief while still letting the model render naturalistic studio light.

### Example 2: Portrait for a UGC-style social ad

```
{
  "model": "doubao-seedream-4-5-251128",
  "prompt": "A confident woman in her early 30s, wearing a cream linen blazer, looking directly at the camera with a relaxed smile. Warm natural window light from the left. Shallow depth of field, slightly blurred neutral grey background. Editorial portrait style, 85mm lens aesthetic, professional headshot.",
  "size": "1440x2560",
  "n": 1,
  "response_format": "url",
  "seed": 2048,
  "guidance_scale": 7
}
```

Portrait orientation (`1440x2560`) fills a TikTok or Instagram Story canvas natively without any cropping or letterboxing. Describing the focal length ("85mm lens aesthetic") and depth of field tells the model to render a natural, compressed perspective with a softly blurred background — the hallmark of a professional headshot rather than a wide-angle snapshot. Guidance at 7 gives the model a little room to interpret the lighting naturally rather than rendering it in an overly literal way, which works well for portraits where you want warmth and realism. At 4 credits this is an affordable option for generating UGC-style creator imagery at scale — once you land a direction you like, consider [Seedream 5.0 Lite](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide) for the final hero-quality version.

### Example 3: Cinematic scene for a brand hero image

```
{
  "model": "doubao-seedream-4-5-251128",
  "prompt": "A wide-angle cinematic shot of a misty forest trail at golden hour, warm amber light filtering through tall pine trees, a lone figure in a dark green jacket walking away from camera along the path. Atmospheric, moody, widescreen composition, film photography aesthetic, Fujifilm Provia simulation.",
  "size": "2560x1440",
  "n": 1,
  "response_format": "url",
  "guidance_scale": 7.5
}
```

No seed here — for mood-driven cinematic scenes you want creative variety across runs, so let the model explore. Landscape orientation (`2560x1440`) is correct for a YouTube thumbnail, website banner, or hero image. Film aesthetic cues like "Fujifilm Provia simulation" push Seedream 4.5 toward warm, slightly desaturated tones that read as editorial and premium — a useful trick when you want brand imagery that does not immediately look AI-generated. Use this workflow to generate 8–12 scene directions cheaply (just 32–48 credits), pick the strongest two compositions, then re-run those specific prompts in [Seedream 5.0 Lite](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide) for the final campaign asset.

## POST /api/v3/images/generations — how to send the request

An *API endpoint* is a specific URL address on a server that listens for incoming requests and sends back a response. For Seedream 4.5, the endpoint lives on Bytedance's Volcano Engine ARK platform. You send your JSON to it using an *HTTP POST* request — the same type of request your browser sends when you click a "Submit" button on a web form. You will need a Volcano Engine ARK API key (a long string that identifies your account and grants billing access) passed as a Bearer token in the request's Authorization header. You can obtain an ARK API key from the [Volcano Engine ARK console](https://docs.volcengine.com/docs/82379).

The official ARK image generation endpoint is:

```
POST https://ark.cn-beijing.volces.com/api/v3/images/generations
```

This is a **synchronous** endpoint — meaning the API holds the connection open and replies with the finished image directly. You do not need to poll a separate URL or check a job status. The image is ready in the response body as soon as the connection returns.

Here is how to call it from a terminal using **curl** (a command-line tool available on macOS, Linux, and Windows 11):

```
curl -X POST https://ark.cn-beijing.volces.com/api/v3/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -d '{
    "model": "doubao-seedream-4-5-251128",
    "prompt": "A matte black protein canister on white marble, studio lighting, commercial product photography, 8k",
    "size": "2048x2048",
    "n": 1,
    "response_format": "url",
    "guidance_scale": 7.5
  }'
```

And here is the same request in **JavaScript** using the browser-native `fetch` API (also available in Node.js 18+):

```
const response = await fetch(
  "https://ark.cn-beijing.volces.com/api/v3/images/generations",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + process.env.ARK_API_KEY
    },
    body: JSON.stringify({
      model: "doubao-seedream-4-5-251128",
      prompt: "A matte black protein canister on white marble, studio lighting, commercial product photography, 8k",
      size: "2048x2048",
      n: 1,
      response_format: "url",
      guidance_scale: 7.5
    })
  }
);

const data = await response.json();
// The image URL is in data.data[0].url
console.log("Image URL:", data.data[0].url);
```

Or skip the API key entirely — paste your prompt into [Chat-to-Ads Studio](https://aicontentdrop.com/) or [AI Content Drop's image generator](https://aicontentdrop.com/best-ai-video-generator), and we'll handle the request for you. No ARK API key needed — just credits. AI Content Drop handles the routing behind the scenes.

## What the response looks like

Because Seedream 4.5's ARK endpoint is synchronous, you receive the finished image in the same response as your request — there is no polling step. A successful response with `"response_format": "url"` looks like this:

```
{
  "created": 1746100000,
  "data": [
    {
      "url": "https://cdn.volcengineapi.com/output/abc123-seedream-result.png"
    }
  ]
}
```

The `data` array contains one object per image, matching the `n` value you sent. Each object has a `url` field you can open in a browser or pass to an `<img>` tag. Important: ARK CDN URLs are temporary and expire after a period — download and store the image to your own storage as soon as you receive the response.

If you requested `"response_format": "b64_json"` instead, the field name changes from `url` to `b64_json`:

```
{
  "created": 1746100000,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ]
}
```

Here is how to decode that base64 string and save it as a PNG file in Node.js — base64 is a text encoding of binary data such as an image file, and`Buffer.from()` reverses that encoding:

```
const fs = require("fs");

// data is the parsed JSON response from the API
const b64 = data.data[0].b64_json;
const imageBuffer = Buffer.from(b64, "base64");
fs.writeFileSync("output.png", imageBuffer);
console.log("Image saved to output.png");
```

Seedream 4.5 typically returns in 5–12 seconds depending on image size and server load — fast enough for interactive use and well-suited to batch workflows that queue multiple requests in sequence.

## Common errors and fixes

- 400 InvalidParameter on the size field
  
  — You used an image below ARK's 3,686,400-pixel floor. Fix: change
  
  "1024x1024"
  
  to
  
  "2K"
  
  or
  
  "2048x2048"
  
  . Seedream 4.5 supports 2K and 4K only; the 1K option exists on Seedream 4.0 and was dropped from every later model.
- 401 Unauthorized
  
  — Your ARK API key is missing, expired, or copied incorrectly. Fix: Confirm that you passed
  
  Authorization: Bearer YOUR_KEY
  
  in the request header (note the space after "Bearer"), that the key is pasted exactly from the Volcano Engine ARK console with no leading or trailing spaces, and that the key has not been revoked or rotated. If you recently regenerated your key, the old one is invalidated immediately.
- 404 Model not found
  
  — The
  
  model
  
  field contains an unrecognised string. Fix: Use the exact value
  
  "seedream-4.5"
  
  — no underscores, no uppercase letters, no alternative formatting. Verify against the
  
  ARK model catalogue
  
  .
- 400 Content policy violation
  
  — Your prompt was flagged by Bytedance's content moderation system. Fix: Remove any terms related to violence, explicit content, real named public figures, or other policy-violating content. Rephrase descriptively using neutral, commercial language. Vague workarounds often trigger false positives — clear, product-focused language is both safer and more effective.
- Prompt too long / 400 string_too_long
  
  — Your prompt exceeds the model's character limit. Fix: Trim conversational filler ("please make it look nice", "I want it to be"). The model needs dense visual instructions, not polite framing. Aim for specific keywords separated by commas rather than long sentences.
- 429 Rate limit exceeded
  
  — You have hit the ARK tier's request rate limit. Fix: Add a delay between requests, or check your usage quota in the Volcano Engine ARK console. On AI Content Drop, the credit system naturally throttles usage since each generation draws from your monthly credit balance.
- Image quality looks flat or generic
  
  — This is almost always a prompt issue, not an API error. Fix: Add lighting direction ("soft studio lighting from the upper left"), surface texture ("white marble" or "pale linen"), style cues ("commercial product photography"), and quality keywords ("8k, sharp focus"). These four levers — light, surface, style, quality — consistently lift Seedream 4.5 output from generic to usable ad creative.

## Seedream 4.5 vs alternatives — when to use this

Not every image job calls for the cheapest model. Here is a decision table to help you pick the right tool. You can browse the full model lineup in the [AI Content Drop marketplace](https://aicontentdrop.com/marketplace).

| Use case | Best model | Why |
| --- | --- | --- |
| High-volume concept exploration — 30–100 product angles, background variants, color-palette tests, or thumbnail drafts where cost-per-image is the primary constraint | Seedream 4.5 — 4 credits | Lowest cost per competent image on the platform — the maximum-volume exploration model. Use it to find the right direction before committing to a higher-cost model for the final asset. |
| Final hero assets from a direction already validated with Seedream 4.5 — 1–5 polished images for a live campaign or landing page | [Seedream 5.0 Lite — 5 credits](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide) | One generation higher — improved texture fidelity and fine detail for the same Bytedance image stack at one credit more per image. The natural upgrade path once you know what you want. |
| Ad creative with embedded text labels, price badges, button copy, or any UI mockup where the legibility of text inside the image is critical | GPT Image 1.5 — 9 credits | Superior text rendering — Seedream 4.5 will produce approximate or garbled in-image text. GPT Image 1.5 renders text legibly and accurately, which Seedream models cannot reliably match at any quality tier. |

A practical workflow for campaigns: use Seedream 4.5 at 4 credits each to generate 25 direction variants (100 credits total). Pick the 2–3 strongest compositions. Re-generate those specific angles with [Seedream 5.0 Lite](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide) (5 credits each, 15 credits for three) for the final hero quality. Total: 115 credits for a complete creative direction set. You spend the budget on cheap exploration and reserve the upgraded model for the winner — that is the upgrade-path workflow this two-model pair is designed for.

## Cost math for newcomers

Here is a concrete example to make the credit math tangible. Say you are running an ecommerce campaign and want to test 50 product image variants — different backgrounds, different lighting setups, different color stories — before committing to a final hero shoot.

50 images × 4 credits each = **200 credits**.

Compare that to the same batch on [Seedream 5.0 Lite](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide): 50 × 5 = 250 credits — 50 credits more. That gap compounds at scale: at 200 images per month (a realistic volume for a performance creative team), Seedream 4.5 saves 200 credits versus 5.0 Lite. That is real budget headroom to run more experiments or generate more final-quality assets with the saved credits.

On the Starter plan ($19/month) you receive a credit allocation that covers comfortably more than a 200-image batch at this rate. Because AI Content Drop uses post-deduct billing, none of those credits leave your account if any generation fails or is blocked by content policy — you only pay for the images you actually receive.

The upgrade-path math also works cleanly: 40-image exploration batch at 4 credits (160 credits) + 5 final hero images at 5 credits via Seedream 5.0 Lite (25 credits) = **185 credits total** for a complete creative set. That is the two-model workflow in numbers — cheap exploration, upgraded finisher.

## Glossary

**Prompt**

The text description you give the AI model. It is your instruction for what the generated image should contain — subject, composition, lighting, style, and quality level.

**JSON**

JavaScript Object Notation — a plain-text format APIs use to send and receive structured data. It looks like a set of key–value pairs wrapped in curly braces, such as `{"model": "doubao-seedream-4-5-251128"}`.

**API request**

A message you send to a server asking it to do something — in this case, generate an image. The request contains your instructions formatted as JSON and is sent over the internet using HTTP.

**Endpoint**

A specific URL on a server that is set up to receive a particular type of request. For Seedream 4.5, the official generation endpoint is `https://ark.cn-beijing.volces.com/api/v3/images/generations` on the Volcano Engine ARK platform.

**Synchronous response**

A response that arrives in the same HTTP connection you used to send the request — no polling required. The ARK image generation endpoint is synchronous: send the request, wait a few seconds, receive the image in the response body.

**Seed**

An integer that initialises the model's random number generator. Using the same seed with the same prompt produces a visually similar result — useful for isolating the effect of a specific prompt change in A/B tests.

**Guidance scale**

A number that controls how strictly the model follows your prompt. Higher values (12–15) produce literal, prompt-adherent results; lower values (3–5) give the model more creative freedom. Also called CFG scale in some tools.

**Aspect ratio**

The width-to-height ratio of the output image. On Seedream 4.5's ARK endpoint, this is expressed as a `size` string with a lowercase `x` separator — for example `"1440x2560"` is a 9:16 portrait ratio suitable for TikTok and Stories.

**Post-deduct billing**

A billing model where credits are only deducted after a generation successfully completes. Failed or errored generations do not cost you anything — important protection in high-volume batch workflows.

**Base64**

A text encoding of binary data such as an image file. When `response_format` is set to `b64_json`, the API returns the image as a base64 string instead of a URL. You decode it to get the raw image bytes and save it locally.

## FAQ

### Can I just use the chat instead of writing JSON?

Yes. If writing JSON feels like too much right now, open the [Chat-to-Ads Studio](https://aicontentdrop.com/) and describe the image you want in plain English. The studio routes the request to the right model and handles all the JSON formatting behind the scenes — you just type and generate. No API key, no JSON syntax, no size separators to worry about.

### What if I get a 401 error?

A 401 means the server rejected your API key. Check that the `Authorization` header is formatted as `Bearer YOUR_KEY_HERE` (there must be a space between "Bearer" and the key), that the key is copied exactly from the Volcano Engine ARK console with no leading or trailing spaces, and that the key has not been revoked or expired. If you recently rotated your key, the old one is invalidated immediately.

### How do I get an aspect ratio that is not in the size list?

A custom dimension like `1200x630` is below ARK's 3,686,400-pixel minimum, so it is rejected. Any ratio between 1/16 and 16/1 is allowed as long as the total pixel count is in range. Pick the closest supported size (for an Open Graph image, that is the landscape option `2560x1440`), generate the image at that size, then resize or crop it to the exact dimensions you need in any image editor or using CSS `object-fit`.

### When should I upgrade from Seedream 4.5 to Seedream 5.0 Lite?

Upgrade when you have identified a winning direction and need the final campaign-quality asset — not during the exploration phase. Seedream 4.5 is the exploration workhorse; Seedream 5.0 Lite is the finisher. Once your prompt produces a composition, lighting, and subject placement you are happy with at 4 credits, run that same prompt through [Seedream 5.0 Lite](https://aicontentdrop.com/blog/seedream-5-0-lite-json-prompt-guide) for improved texture fidelity and fine detail. You spend one extra credit on the winner — and only the winner.