rreAPI Docs
rreAPI Docs
HomeWelcome

Image

midjourney-v8flux-2z-imageqwen-image-2midjourney-v7wan-2-7-imagegpt-image-2gpt-image-2-officialgemini-2.5-flash-image-previewgemini-3-pro-image-previewgemini-3.1-flash-image-previewdoubao-seedream-5-0-liteimagen-4-0

Audio

Mureka V9 Song APIVocal Remover APIMusic Extractor APIVoice Cleaner APIMultistem Splitter APIVoice Changer API

Video

topaz-video-upscalerkling-3-0-turbokling-3-0music-video-1-0wan-2-7-videokling-motion-controlpixverse-v6Seedance 2.5doubao-seedance-2.0doubao-seedance-2.0-officialseedance-2-0-minihappyhorse-1-1happyhorse-1.0happyhorse-1.0-officialviduq3grok-imagine-video-1.5-betagrok-imagine-1.0-videoVeo 3.1gemini-omni

Chat

claude-fable-5minimax-m3deepseek-v4gpt-5.5gpt-5.4claude-opus-4-8claude-opus-4-7claude-sonnet-4-6

Text

ai-essay-writerhumanizeai-text-detector

Tools

enhance-video-1.0
X (Twitter)

doubao-seedream-5-0-lite

ByteDance Doubao Seedream 5.0 Lite — async image generation at 2K and 3K with image-to-image, batch output, and a flat per-image rate.

ByteDance Doubao's lean image model on reAPI. 2K and 3K resolution tiers, nine aspect ratios, image-to-image via reference URLs, and batch generation of up to four variations per call. Async-first: submit returns a task_id; poll until ready. See current pricing on the model page.

Quick example

curl https://reapi.ai/api/v1/images/generations \
  -H "Authorization: Bearer rk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-5-0-lite",
    "prompt": "a kitten yawning into the camera, cinematic warm tones",
    "size": "16:9",
    "resolution": "2K",
    "n": 1
  }'
import requests

resp = requests.post(
    "https://reapi.ai/api/v1/images/generations",
    headers={
        "Authorization": "Bearer rk_live_xxx",
        "Content-Type": "application/json",
    },
    json={
        "model": "doubao-seedream-5-0-lite",
        "prompt": "a kitten yawning into the camera, cinematic warm tones",
        "size": "16:9",
        "resolution": "2K",
        "n": 1,
    },
    timeout=30,
)
print(resp.json())
const r = await fetch("https://reapi.ai/api/v1/images/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer rk_live_xxx",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "doubao-seedream-5-0-lite",
    prompt: "a kitten yawning into the camera, cinematic warm tones",
    size: "16:9",
    resolution: "2K",
    n: 1,
  }),
});
console.log(await r.json());
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    body, _ := json.Marshal(map[string]any{
        "model":      "doubao-seedream-5-0-lite",
        "prompt":     "a kitten yawning into the camera, cinematic warm tones",
        "size":       "16:9",
        "resolution": "2K",
        "n":          1,
    })
    req, _ := http.NewRequest("POST",
        "https://reapi.ai/api/v1/images/generations", bytes.NewReader(body))
    req.Header.Set("Authorization", "Bearer rk_live_xxx")
    req.Header.Set("Content-Type", "application/json")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    out, _ := io.ReadAll(resp.Body)
    fmt.Println(string(out))
}

Submit response

{
  "id": "task_018f5a3a1b6e7d9f8c2b4d6e8f0a2c4e",
  "model": "doubao-seedream-5-0-lite",
  "status": "processing",
  "created_at": 1735000000
}

Poll GET /api/v1/tasks/{id} (see the Tasks reference) until status === "completed". The completed payload's output.image_urls holds the generated image URLs, valid for 72 hours. Mirror to your own storage if you need them longer.


Authentication

Every call needs a Bearer token. Generate keys at reapi.ai/settings/apikeys.

Authorization: Bearer YOUR_API_KEY

Keys carry the active workspace's billing scope — there is no separate project header.


Endpoint

POST /api/v1/images/generations
GET  /api/v1/tasks/{id}

Submission is async. The POST returns immediately with a task_id; the task endpoint returns the same envelope until completion. Polling does not consume credits.


Request body

model — required

string. Must be doubao-seedream-5-0-lite exactly. The dotted / capitalized aliases the upstream model card mentions are not accepted at this gateway — send the canonical hyphen-only id.

prompt — string, required

Up to 4,000 characters. Free-form text describing the image. Detailed prompts that name the subject, the composition, the lighting, and the style consistently produce better results.

size — string, default "1:1"

Output aspect ratio. One of:

ValueShape
1:1Square
4:3Traditional landscape
3:4Traditional portrait
16:9Widescreen landscape
9:16Widescreen portrait
3:2Photo landscape
2:3Photo portrait
21:9Cinematic ultrawide
autoMatch the first reference image's ratio (requires image_urls)

9:21 is not supported on Seedream 5.0 Lite. Sending it returns 400 — use 21:9 for ultrawide framing instead.

resolution — string, default "2K"

Detail tier. Case-insensitive — "2K" and "2k" are equivalent.

Value1:1 example16:9 example
2K2048 × 20482848 × 1600
3K3072 × 30724096 × 2304

1K and 4K are not supported on this model — only the two tiers above.

n — integer, default 1

How many images to return per call. Range [1, 4].

When n > 1, the upstream automatically promotes sequential_image_generation to "auto" so the call returns a consistent batch in one shot. You don't need to set the field yourself unless you want to override the default.

image_urls — array, optional

Reference images for image-to-image / multi-ref fusion. Public HTTPS URLs only — base64 / data: URIs are rejected at the gateway.

Per-image constraints (from the upstream vendor doc):

  • Format: jpeg or png
  • Aspect ratio per image must be in [1/3, 3]
  • Each image ≤ 10 MB; total pixels ≤ 6000 × 6000

Upload to your own R2 / S3 / OSS / equivalent first, then pass the public URL.

output_format — string, default "jpeg"

Encoding for the returned files.

  • jpeg — small files, good for general use
  • png — needed for transparent backgrounds

sequential_image_generation — string, default "disabled"

Group-mode toggle. Two values:

  • disabled — single-image mode
  • auto — multi-image series mode

When n > 1, the upstream auto-sets this to "auto". Most callers should leave the field unset and let n drive the behavior.

sequential_image_generation_options — object, optional

Tuning for group mode. Only meaningful under "auto".

FieldTypeDescription
max_imagesintegerCap on the number of images in the series

Example:

{
  "sequential_image_generation": "auto",
  "sequential_image_generation_options": { "max_images": 4 }
}

watermark — boolean, default false

Set true to add a Doubao watermark to the output. Off by default.


Pricing

Seedream 5.0 Lite charges a flat per-image rate at 2K and 3K. Multiply the per-image credit cost by n to size a batch. Failed and moderated requests are refunded automatically.

The exact credit cost surfaces on the model page and through the estimator before submit.


Response

The poll envelope returns image URLs in output.image_urls:

{
  "id": "task_019dfd44b7fd74168541552a3260a623",
  "model": "doubao-seedream-5-0-lite",
  "status": "completed",
  "output": {
    "image_urls": [
      "https://cdn.reapi.ai/...png"
    ]
  }
}

URLs are valid for 72 hours. Mirror to your own storage for longer retention.

Table of Contents

Quick example
Submit response
Authentication
Endpoint
Request body
model — required
prompt — string, required
size — string, default "1:1"
resolution — string, default "2K"
n — integer, default 1
image_urls — array, optional
output_format — string, default "jpeg"
sequential_image_generation — string, default "disabled"
sequential_image_generation_options — object, optional
watermark — boolean, default false
Pricing
Response