Skip to content

Sana

Integrate

Model id sana
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/sana?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $0.008 8 API credits Run it on this page

Get API key
NVIDIA Text to Image

Base Sana text-to-image model with an 18-step default and style presets, defaulting to 3840x2160 output

NVIDIA · Image

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

Prompt that guides image generation.

image_size default {"height":2160,"width...

Dimensions of the generated image.

num_images default 1

Image count requested for generation.

Advanced negative_prompt · output_format · style_name · num_inference_steps · guidance_scale · seed · enable_safety_checker
default

Negative prompt specifying image details to exclude, including colors, objects, scenery, or finer features. Examples include a moustache, blur, or low resolution.

output_format default jpeg

File format for the resulting image.

default (No style)

Visual style for image generation.

default 18

Count of inference steps to run.

default 5

Prompt-adherence strength for image selection, expressed as CFG (Classifier Free Guidance).

Seed for reproducible images: an identical prompt and seed produce an identical image when the model version is unchanged.

POST /run/sana?wait=20 quote → $0.008
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/sana?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Sana

Generates images from a text `prompt`, with a negative prompt, seed and guidance scale (0 to 20). The default size is 3840x2160, or choose a preset such as square_hd or portrait_16_9. `num_inference_steps` runs 1 to 50 (default 18). Generates 1 to 4 images per request in jpeg or png, with optional styles like Anime or Cinematic.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
promptrequired
Typestring
Prompt that guides image generation.
negative_promptoptional
Typestring
Default
Negative prompt specifying image details to exclude, including colors, objects, scenery, or finer features. Examples include a moustache, blur, or low resolution.
image_sizeoptional
Typeobject
Default{"height":2160,"width":3840}
square_hdsquareportrait_4_3portrait_16_9landscape_4_3landscape_16_9
Dimensions of the generated image.
num_inference_stepsoptional
Typeinteger
Default18
1 – 50
Count of inference steps to run.
seedoptional
Typeinteger | null
Seed for reproducible images: an identical prompt and seed produce an identical image when the model version is unchanged.
guidance_scaleoptional
Typenumber
Default5
0 – 20
Prompt-adherence strength for image selection, expressed as CFG (Classifier Free Guidance).
num_imagesoptional num_outputs
Typeinteger
Default1
1 – 4
Image count requested for generation.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Safety checking, which returns black images in place of any images flagged unsafe. A value of true enables checking; false disables it only for authorized accounts, while requests without authorization are checked regardless.
output_formatoptional
Typeenum
Defaultjpeg
jpegpng
File format for the resulting image.
style_nameoptional
Typeenum
Default(No style)
(No style)CinematicPhotographicAnimeMangaDigital ArtPixel artFantasy artNeonpunk3D Model
Visual style for image generation.
required Canonical name, also accepted

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "sana",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 8,
    "usd": "0.008",
    "charged": 8,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  },
  "output": {
    "images": [
      {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "width": 1024,
        "height": 768,
        "content_type": "image/jpeg"
      }
    ],
    "timings": {},
    "seed": 42,
    "has_nsfw_concepts": [
      false
    ],
    "prompt": "string"
  },
  "outputs": [
    {
      "type": "image",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
images
array of object {url, width, height, content_type}File information for the generated images.
timings
object
seed
integerImage-generation seed, including the randomly chosen value if the input omitted a seed; otherwise, it repeats the supplied value.
has_nsfw_concepts
array of booleanIndicates whether NSFW concepts appear in the generated images.
prompt
stringPrompt used during image generation.

More models: Text to Image

For AI agents: this page as Markdown is at https://doitong.com/en-US/developers/models/sana.md. All models and guides: https://doitong.com/developers/llms.txt