# Configure Custom AWS S3 Bucket - Documentation

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

Source: /docs/guides/model-apis-configure-custom-s3-bucket

# Configure Custom AWS S3 Bucket

By default, Novita AI temporarily stores output results in our private S3 bucket and returns the results to the user through a temporary authorized S3 link.
However, you can set up a Custom S3 Bucket to allow us to save the results in your own bucket. Please follow the steps below to enable this.

##

[​](#1-configure-s3-bucket-policy)

1. Configure S3 Bucket Policy

First, change your S3 Bucket Policy configuration to the following format (replace `${BucketName}` with your bucket name):

```
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"CanonicalUser": "e98cde8d11ec7c03ac08688f1a933b08b0f0f7746b21c4f2e7b2c8202cc0532f"
},
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::${BucketName}/*"
}
]
}
```

##

[​](#2-enable-custom-storage-in-v3-apis)

2. Enable Custom Storage in V3 APIs

For V3 API endpoints, Novita AI provides the `custom_storage` parameter in the request body, allowing you to configure your custom S3 bucket for storing generated images.
Here’s an example using the `txt2img` API endpoint:

```
curl --location 'https://api.novita.ai/v3/async/txt2img' \
--header 'Authorization: Bearer {{API Key}}' \
--header 'Content-Type: application/json' \
--data '{
"extra": {
"response_image_type": "jpeg",
"custom_storage": {
"aws_s3": {
"region": "us-east-2",
"bucket": "test_bucket",
"path": "/"
}
}
},
"request": {
"prompt": "a cute dog",
"model_name": "realisticVisionV51_v51VAE_94301.safetensors",
"negative_prompt": "",
"width": 512,
"height": 384,
"image_num": 2,
"steps": 20,
"seed": 123,
"clip_skip": 1,
"sampler_name": "Euler a",
"guidance_scale": 7.5
}
}'
```

Last modified on December 23, 2024
