# Novita AI Seedream 3.0 Text to Image API | Generate image from text

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown is available with `Accept: text/markdown` and `.md` URL variants.

Source: /docs/api-reference/model-apis-seedream-3-0-t2i

# Seedream 3.0 Text to Image

POST

/

v3

/

seedream-3-0-txt2img

Try it

Seedream 3.0 Text to Image

cURL

```
curl --request POST \
--url https://api.novita.ai/v3/seedream-3-0-txt2img \
--header 'Authorization: ' \
--header 'Content-Type: ' \
--data '
{
"prompt": "",
"model": "",
"response_format": "",
"size": "",
"seed": 123,
"guidance_scale": 123,
"watermark": true
}
'
```

```
import requests

url = "https://api.novita.ai/v3/seedream-3-0-txt2img"

payload = {
"prompt": "",
"model": "",
"response_format": "",
"size": "",
"seed": 123,
"guidance_scale": 123,
"watermark": True
}
headers = {
"Content-Type": "",
"Authorization": ""
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

```
const options = {
method: 'POST',
headers: {'Content-Type': '', Authorization: ''},
body: JSON.stringify({
prompt: '',
model: '',
response_format: '',
size: '',
seed: 123,
guidance_scale: 123,
watermark: true
})
};

fetch('https://api.novita.ai/v3/seedream-3-0-txt2img', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
```

```
"https://api.novita.ai/v3/seedream-3-0-txt2img",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => '',
'model' => '',
'response_format' => '',
'size' => '',
'seed' => 123,
'guidance_scale' => 123,
'watermark' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: ",
"Content-Type: "
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
```

```
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.novita.ai/v3/seedream-3-0-txt2img"

payload := strings.NewReader("{\n \"prompt\": \"\",\n \"model\": \"\",\n \"response_format\": \"\",\n \"size\": \"\",\n \"seed\": 123,\n \"guidance_scale\": 123,\n \"watermark\": true\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "")
req.Header.Add("Authorization", "")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

```
HttpResponse response = Unirest.post("https://api.novita.ai/v3/seedream-3-0-txt2img")
.header("Content-Type", "")
.header("Authorization", "")
.body("{\n \"prompt\": \"\",\n \"model\": \"\",\n \"response_format\": \"\",\n \"size\": \"\",\n \"seed\": 123,\n \"guidance_scale\": 123,\n \"watermark\": true\n}")
.asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api.novita.ai/v3/seedream-3-0-txt2img")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = ''
request["Authorization"] = ''
request.body = "{\n \"prompt\": \"\",\n \"model\": \"\",\n \"response_format\": \"\",\n \"size\": \"\",\n \"seed\": 123,\n \"guidance_scale\": 123,\n \"watermark\": true\n}"

response = http.request(request)
puts response.read_body
```

200

```
{
"image_urls": [
""
],
"binary_data_base64": [
""
]
}
```

Experience fast and efficient image generation with Seedream 3.0, a state-of-the-art text-to-image model that produces high-quality images from textual prompts.

Currently, only the model version `seedream-3-0-t2i-250415` is supported for Seedream 3.0.

##

[​](#request-headers)

Request Headers

[​](#param-content-type)

Content-Type

string

required

Supports: `application/json`

[​](#param-authorization)

Authorization

string

required

Bearer authentication format, for example: Bearer {{API Key}}.

##

[​](#request-body)

Request Body

[​](#param-prompt)

prompt

string

required

The text prompt used to generate the image.

[​](#param-model)

model

string

The Model ID or inference endpoint (Endpoint ID) to be used for this request. Currently, only `seedream-3-0-t2i-250415` for seedream 3.0 is supported.

[​](#param-response-format)

response_format

string

Specifies the format of the generated image returned in the response. Default is `url`.

Supported values:

- `"url"`: Returns a downloadable JPEG image link.

- `"b64_json"`: Returns the image data as a Base64-encoded JSON string.

[​](#param-size)

size

string

Specifies the dimensions (width x height in pixels) of the generated image. Must be between [512x512, 2048x2048]. Default is `1024x1024`.

Recommended aspect ratios and resolutions:

- `1024x1024` (1:1)

- `864x1152` (3:4)

- `1152x864` (4:3)

- `1280x720` (16:9)

- `720x1280` (9:16)

- `832x1248` (2:3)

- `1248x832` (3:2)

- `1512x648` (21:9)

[​](#param-seed)

seed

integer

Random seed to control the stochasticity of image generation. Range: [-1, 2147483647]. If not specified, a seed will be automatically generated. To reproduce the same output, use the same seed value. Default is `-1`.

[​](#param-guidance-scale)

guidance_scale

number

Controls how closely the output image aligns with the input prompt. The higher the value, the less freedom the model has, and the stronger the prompt correlation. Range: [1, 10]. Default is `2.5`.

[​](#param-watermark)

watermark

boolean

Specifies whether to add a watermark to the generated image. Default is `true`.

- `false`: No watermark.

- `true`: Adds a watermark with the label “AI generated” in the bottom-right corner.

##

[​](#response)

Response

[​](#param-image-urls)

image_urls

string[]

Array of generated image URLs. When `response_format` is set to `"url"`, this array contains the downloadable image links for the generated images.

[​](#param-binary-data-base64)

binary_data_base64

string[]

Array of Base64-encoded image data. When `response_format` is set to `"b64_json"`, this array contains the generated images as Base64-encoded JSON strings.

Last modified on August 1, 2025
