rreAPI Docs
rreAPI Docs
HomeWelcome

Image

nano-banana-2-litemidjourney-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-previewSeedream 5.0 Prodoubao-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.0seedance-2-0-minihappyhorse-1-1happyhorse-1.0happyhorse-1.0-officialviduq3grok-imagine-video-1.5-betagrok-imagine-video-1.5-officialgrok-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)

Seedream 5.0 Pro

ByteDance Doubao Seedream 5.0 Pro — flagship async image generation at 1K and 2K with text-to-image, multi-reference image-to-image, and reliable text rendering.

ByteDance's flagship Doubao Seedream image model on reAPI. 1K and 2K resolution tiers, text-to-image, single and multi-reference image-to-image (up to 10 reference images), and dependable text rendering for posters, covers, and ad creative. 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 YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-5-0-pro",
    "prompt": "a scarlet macaw on a mossy branch, cinematic god rays, magazine cover titled WILD BEAUTY",
    "size": "2K"
  }'
import requests

resp = requests.post(
    "https://reapi.ai/api/v1/images/generations",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "doubao-seedream-5-0-pro",
        "prompt": "a scarlet macaw on a mossy branch, cinematic god rays",
        "size": "2K",
    },
    timeout=30,
)
print(resp.json())
const r = await fetch("https://reapi.ai/api/v1/images/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "doubao-seedream-5-0-pro",
    prompt: "a scarlet macaw on a mossy branch, cinematic god rays",
    size: "2K",
  }),
});
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-pro",
        "prompt": "a scarlet macaw on a mossy branch, cinematic god rays",
        "size":   "2K",
    })
    req, _ := http.NewRequest("POST",
        "https://reapi.ai/api/v1/images/generations", bytes.NewReader(body))
    req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
    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-pro",
  "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 URL, valid for 72 hours. Mirror to your own storage if you need it 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-pro exactly.

prompt — string, required

Up to 4,000 characters. Free-form text describing the image. Detailed prompts that name the subject, composition, lighting, and style consistently produce better results. Seedream 5.0 Pro renders in-image text well — put headline or logo copy directly in the prompt.

size — string, default "1024x1024"

Output dimensions. Two mutually-exclusive modes:

Tier mode — a resolution tier; the aspect ratio comes from your prompt:

ValueNotes
1K~1 megapixel outputs
2K~4 megapixel outputs

There is no 4K tier on Seedream 5.0 Pro.

Pixel mode — an explicit WxH string (e.g. 2048x2048, 2048x1152):

  • Total pixels in [921600, 4194304] (i.e. 1280×720 up to 2048×2048)
  • Aspect ratio (w/h) in [1/16, 16]
  • Both dimensions multiples of 16

Pricing is banded by output pixels: ≤ 2,360,000 px bills at the 1K rate, > 2,360,000 px at the 2K rate. In practice 1K and small custom sizes fall in the lower band; 2K and large custom sizes fall in the higher band.

image_urls — array, optional

Reference images for image-to-image (1 image) or multi-reference fusion (up to 10 images). Public HTTP(S) URLs only — base64 / data: URIs are rejected at the gateway.

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

output_format — string, default "jpeg"

Encoding for the returned file.

  • jpeg — small files, good for general use
  • png — needed for lossless / transparent output

watermark — boolean, default true

Whether to stamp an AI-generated watermark on the output. Set false to omit it.

Seedream 5.0 Pro always returns exactly one image per call — there is no n parameter. Send multiple requests when you need multiple images. Group-image, web-search, and streaming options are not available on this model.


Pricing

Seedream 5.0 Pro charges a flat rate per output image, banded by output resolution — the 2K band costs more than the 1K band. Images blocked by moderation are refunded automatically.

credits = ceil(per_image_usd × 1000)

where 1 credit = $0.001. The exact per-image credit cost surfaces on the model page and reflects the current rate. There is no per-token or subscription component.


Response

The poll envelope returns the image URL in output.image_urls:

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

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


Errors

Failures use the standard envelope { error: { code, message, request_id } }. See the errors catalog for the full code list. Common cases:

  • Invalid parameters (bad size, oversize image_urls) → 4xx invalid-input.
  • A prompt or reference blocked by moderation → content-policy error; the task is refunded.

Tips

  • For a specific aspect ratio in tier mode, describe it in the prompt (e.g. "widescreen 16:9 composition"); for exact control, use pixel mode.
  • Multi-reference fusion keeps a character consistent — pass the same face / wardrobe references across a series.
  • Lean on Seedream 5.0 Pro's text rendering for posters, covers, and UI mockups; spell the exact words you want in quotes inside the prompt.

Related

  • Seedream 5.0 Lite — the lean, lower-cost tier
  • Tasks reference
  • Errors catalog

Table of Contents

Quick example
Submit response
Authentication
Endpoint
Request body
model — required
prompt — string, required
size — string, default "1024x1024"
image_urls — array, optional
output_format — string, default "jpeg"
watermark — boolean, default true
Pricing
Response
Errors
Tips
Related