> ## 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.

# Benutzerdefinierten AWS-S3-Bucket konfigurieren

Standardmäßig speichert Novita AI Ausgabeergebnisse vorübergehend in unserem privaten S3-Bucket und gibt die Ergebnisse über einen temporär autorisierten S3-Link an den Benutzer zurück.

Sie können jedoch einen **benutzerdefinierten S3-Bucket** einrichten, damit wir die Ergebnisse in Ihrem eigenen Bucket speichern können. Bitte befolgen Sie die folgenden Schritte, um dies zu aktivieren.

## 1. S3-Bucket Policy konfigurieren

Ändern Sie zunächst Ihre S3-Bucket-Policy-Konfiguration in das folgende Format (ersetzen Sie `${BucketName}` durch Ihren Bucket-Namen):

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

## 2. Benutzerdefinierten Speicher in V3-APIs aktivieren

Für V3-API-Endpunkte stellt Novita AI den Parameter `custom_storage` im Request Body bereit, mit dem Sie Ihren benutzerdefinierten S3-Bucket zum Speichern generierter Bilder konfigurieren können.

Hier ist ein Beispiel mit dem API-Endpunkt `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
  }
}'
```
