> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar Bucket AWS S3 Personalizado

Por padrão, a Novita AI armazena temporariamente os resultados de saída em nosso bucket S3 privado e retorna os resultados ao usuário por meio de um link S3 autorizado temporário.

No entanto, você pode configurar um **Bucket S3 Personalizado** para permitir que salvemos os resultados no seu próprio bucket. Siga as etapas abaixo para habilitar isso.

## 1. Configurar a Política do Bucket S3

Primeiro, altere a configuração da Política do seu Bucket S3 para o seguinte formato (substitua `${BucketName}` pelo nome do seu bucket):

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

## 2. Habilitar Armazenamento Personalizado nas APIs V3

Para endpoints da API V3, a Novita AI fornece o parâmetro `custom_storage` no corpo da solicitação, permitindo que você configure seu bucket S3 personalizado para armazenar imagens geradas.

Aqui está um exemplo usando o endpoint da API `txt2img`:

```bash theme={"system"}
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
  }
}'
```
