Datenaufbewahrung

Steuern Sie, wie lange Ihre generierten Medien und Anfragedatensätze gespeichert werden — pro Anfrage, mit zwei unabhängigen Headern

Überblick

Jede asynchrone Generierung erzeugt zwei getrennte Dinge:

  • Generierte Medien — die Bild-, Video- oder Audiodatei, die Atlas Cloud für Sie hostet und als Ausgabe-URL zurückgibt.
  • Einen Anfragedatensatz — die Metadaten der Aufgabe: das Modell, Ihr Prompt und Ihre Parameter, der Status, Zeitstempel und die Ausgabe-URLs. Genau diese liest der Vorhersagen-Endpunkt, wenn Sie eine Aufgabe abfragen.

Sie können pro Anfrage festlegen, wie lange beides jeweils aufbewahrt wird — mit zwei Headern:

HeaderBereichSteuert
X-AtlasCloud-Object-Expiration-Hours1336Wie lange die generierten Mediendateien gespeichert werden.
X-AtlasCloud-Request-Retention-Hours0336Wie lange der Anfragedatensatz aufbewahrt wird.

Beide sind optional und werden als ganze Stundenzahl angegeben. 336 Stunden entsprechen 14 Tagen.

Die beiden Einstellungen sind unabhängig voneinander

Das Löschen des Datensatzes löscht nicht die Medien, und das Löschen der Medien löscht nicht den Datensatz. Setzen Sie eines von beiden, beide oder keines — jedes folgt seiner eigenen Uhr.

Schnellstart

Senden Sie die Header mit einer normalen Einreichungsanfrage:

curl -X POST https://api.atlascloud.ai/api/v1/model/generateImage \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -H "X-AtlasCloud-Object-Expiration-Hours: 24" \
  -H "X-AtlasCloud-Request-Retention-Hours: 0" \
  -d '{
        "model": "bytedance/seedream-v5.0-pro/text-to-image",
        "prompt": "A calico kitten chasing a butterfly in a garden"
      }'
import requests

response = requests.post(
    "https://api.atlascloud.ai/api/v1/model/generateImage",
    headers={
        "Authorization": "Bearer your-api-key",
        "Content-Type": "application/json",
        # das generierte Bild nach 24 Stunden löschen
        "X-AtlasCloud-Object-Expiration-Hours": "24",
        # den Anfragedatensatz verwerfen, sobald die Aufgabe abgeschlossen ist
        "X-AtlasCloud-Request-Retention-Hours": "0",
    },
    json={
        "model": "bytedance/seedream-v5.0-pro/text-to-image",
        "prompt": "A calico kitten chasing a butterfly in a garden",
    },
)

print(response.json()["data"]["id"])  # die Aufgaben-ID (session_id)
const res = await fetch("https://api.atlascloud.ai/api/v1/model/generateImage", {
  method: "POST",
  headers: {
    Authorization: "Bearer your-api-key",
    "Content-Type": "application/json",
    // das generierte Bild nach 24 Stunden löschen
    "X-AtlasCloud-Object-Expiration-Hours": "24",
    // den Anfragedatensatz verwerfen, sobald die Aufgabe abgeschlossen ist
    "X-AtlasCloud-Request-Retention-Hours": "0",
  },
  body: JSON.stringify({
    model: "bytedance/seedream-v5.0-pro/text-to-image",
    prompt: "A calico kitten chasing a butterfly in a garden",
  }),
});

const { data } = await res.json();
console.log(data.id); // die Aufgaben-ID (session_id)

Die Antwort auf die Einreichung bleibt unverändert — Sie erhalten sofort eine Aufgaben-id zurück, und die Generierung läuft genau wie gewohnt. Die Aufbewahrung entscheidet nur darüber, was nach dem Abschluss der Aufgabe geschieht.

Beide Header funktionieren an allen drei asynchronen Einreichungs-Endpunkten:

  • POST /api/v1/model/generateImage
  • POST /api/v1/model/generateVideo
  • POST /api/v1/model/generateAudio

X-AtlasCloud-Object-Expiration-Hours

Legt fest, wie lange Atlas Cloud die von dieser Anfrage generierten Mediendateien speichert, gerechnet ab dem Zeitpunkt der Einreichung der Aufgabe.

  • Bereich: 1 bis 336 Stunden (1 Stunde bis 14 Tage).
  • Standard, wenn nicht gesetzt: 14 Tage.
  • Da das Maximum dem Standard entspricht, kann dieser Header Medien immer nur früher ablaufen lassen — er kann die Speicherung nicht über 14 Tage hinaus verlängern.

Sobald die Medien abgelaufen sind, funktionieren ihre Ausgabe-URLs nicht mehr (Anfragen darauf liefern 404). Laden Sie alles, was Sie behalten möchten, vorher herunter oder kopieren Sie es.

Dieser Header betrifft die generierten Ausgaben der Anfrage. Er ändert nichts an der Aufbewahrung von Dateien, die Sie als Eingaben hochgeladen haben (Referenzbilder, Quellvideos, Audioclips) — für diese gilt die Standardaufbewahrung für hochgeladene Dateien.

X-AtlasCloud-Request-Retention-Hours

Legt fest, wie lange Atlas Cloud den Anfragedatensatz aufbewahrt — die Metadatenzeile hinter dem Vorhersagen-Endpunkt.

  • Bereich: 0 bis 336 Stunden (bis zu 14 Tage).
  • Standard, wenn nicht gesetzt: Der Datensatz wird gemäß der Standard-Aufbewahrungsrichtlinie der Plattform aufbewahrt.
  • 0 bedeutet „löschen, sobald die Generierung fertig ist“ — der Datensatz wird kurz nach Erreichen eines Endzustands der Aufgabe (completed, failed oder timeout) entfernt.

Datensätze werden niemals während der Ausführung gelöscht

Ein Datensatz wird erst entfernt, wenn die Aufgabe tatsächlich abgeschlossen ist und die Abrechnung sowie eine etwaige Webhook-Zustellung abgeschlossen sind. Eine Aufbewahrung von 0 unterbricht niemals eine laufende Generierung und kostet Sie keinen Callback.

Sobald der Datensatz gelöscht ist, liefert das Abfragen dieser Aufgabe über GET /api/v1/model/prediction/{id} keine Ergebnis-Payload mehr — die Ausgaben, Parameter und Fehlerdetails sind weg. Rufen Sie ab, was Sie benötigen (oder verwenden Sie einen Webhook), bevor der Datensatz abläuft.

Das Löschen des Datensatzes löscht nicht die Medien. Mit X-AtlasCloud-Request-Retention-Hours: 0 und ohne Objekt-Header lebt die generierte Datei weiterhin ihre vollen 14 Tage unter ihrer Ausgabe-URL — Sie müssen diese URL nur selbst aufbewahren, da Atlas Cloud keinen Datensatz mehr davon hat.

Werte auswählen

ZielHeader
Nichts länger als einen Tag aufbewahrenX-AtlasCloud-Object-Expiration-Hours: 24 + X-AtlasCloud-Request-Retention-Hours: 24
Gespeicherte Metadaten minimieren, Datei behaltenX-AtlasCloud-Request-Retention-Hours: 0 (Ausgabe-URL selbst sichern)
Kurzlebige Vorschaumedien, normale HistorieX-AtlasCloud-Object-Expiration-Hours: 1
Plattform-StandardwerteKeinen der beiden Header senden

Validierung

Beide Header werden validiert, bevor irgendetwas geschieht — bevor die Anfrage abgerechnet wird, bevor eine Datei gespeichert wird und bevor der Modellanbieter aufgerufen wird. Ist ein Wert ungültig, wird die Anfrage mit HTTP 400 abgelehnt, es wird keine Aufgabe erstellt, und es entstehen Ihnen keine Kosten.

RegelDetail
FormatEine ganze Stundenzahl. Dezimalwerte (1.5), Zeitdauern (24h) und sonstiger Text werden abgelehnt.
Bereich von X-AtlasCloud-Object-Expiration-Hours1336. 0 wird abgelehnt — verwenden Sie 1 für die kürzeste Aufbewahrung.
Bereich von X-AtlasCloud-Request-Retention-Hours0336. 0 ist gültig und bedeutet „nach Abschluss löschen“.
Weggelassen oder leerWird als „nicht gesetzt“ behandelt — der Standardwert gilt.

Beispiel für eine Ablehnung:

{
  "code": 400,
  "msg": "invalid X-AtlasCloud-Object-Expiration-Hours header: 500 is out of range [1, 336]"
}

Wenn Sie die API aus einem Browser aufrufen: Beide Header-Namen sind von der CORS-Richtlinie zugelassen, sodass Cross-Origin-Anfragen sie senden können.

Kosten

Eine individuelle Aufbewahrung ist kostenlos. Ob Sie die Fristen verkürzen oder die Standardwerte beibehalten, ändert nichts an den Kosten einer Generierung.

Best Practices

  • Laden Sie herunter, was Sie behalten möchten. Betrachten Sie den Speicher von Atlas Cloud als Zustellpuffer, nicht als Archiv — besonders bei einem kurzen Objektablauf.
  • Verwenden Sie Webhooks zusammen mit X-AtlasCloud-Request-Retention-Hours: 0. Der Callback liefert das Ergebnis, sobald die Aufgabe abgeschlossen ist, sodass Sie den Datensatz danach nie brauchen.
  • Speichern Sie die Ausgabe-URL auf Ihrer Seite, wenn Sie die Aufbewahrung des Datensatzes verkürzen, die Medien aber behalten.
  • Senden Sie die Header bei jeder Anfrage, die davon erfasst werden soll. Sie gelten pro Anfrage; es gibt keine kontoweite Standardeinstellung.
  • Verlassen Sie sich nicht auf URLs eines gelöschten Datensatzes. Sobald Medien abgelaufen sind, liefert ihre URL 404 — generieren Sie neu, statt den toten Link erneut aufzurufen.

Fehlerbehebung

SymptomWahrscheinliche Ursache / Maßnahme
400 ... is not a whole number of hoursDer Wert ist keine einfache Ganzzahl. Senden Sie 24, nicht 24h oder 1.5.
400 ... is out of range [1, 336]Der Objektablauf muss mindestens 1 Stunde und höchstens 14 Tage betragen.
400 ... is out of range [0, 336]Die Datensatzaufbewahrung muss zwischen 0 und 14 Tagen liegen.
Ausgabe-URL liefert früher als erwartet 404Der von Ihnen gesetzte Objektablauf ist verstrichen. Die Medien sind weg; generieren Sie neu, falls Sie sie noch benötigen.
Abfrage liefert keine Ausgaben für eine abgeschlossene AufgabeDer Anfragedatensatz wurde durch Ihre Aufbewahrungseinstellung gelöscht. Verwenden Sie einen Webhook oder verlängern Sie die Aufbewahrung.
Medien noch verfügbar, obwohl der Datensatz verschwunden istZu erwarten — die beiden Einstellungen sind unabhängig. Die Datei lebt bis zu ihrem eigenen Ablauf.

Referenz

  • Endpunkte: POST /api/v1/model/generateImage, POST /api/v1/model/generateVideo, POST /api/v1/model/generateAudio.
  • X-AtlasCloud-Object-Expiration-Hours: Ganzzahl 1336; nur generierte Medien; Standard 14 Tage; kann nur verkürzen.
  • X-AtlasCloud-Request-Retention-Hours: Ganzzahl 0336; nur Anfragedatensatz; 0 = löschen, sobald Endzustand erreicht und alles abgeschlossen ist.
  • Ungültiger Wert: HTTP 400, keine Aufgabe erstellt, keine Kosten.
  • Verwandt: Vorhersagen · Webhooks · Dateien hochladen · Datenlöschungsrichtlinie