Benutzerhandbuch
So laden Sie Bilder aus ChatGPT-Links, Exportpaketen oder gen_id herunter
Link noch erreichbar, nur Exportpaket vorhanden, Link abgelaufen, nur noch gen_id übrig – wie Sie das Originalbild in diesen vier Fällen wiederfinden.
Wenn Sie Bilder über einen ChatGPT-Link herunterladen möchten, müssen Sie die Datei speichern, solange der Link noch erreichbar ist. ChatGPT-Bildlinks sind temporär; nach dem Ablaufen lässt sich selbst mit gen_id das Originalbild nicht zurückholen.
Prüfen Sie zuerst, was Sie noch haben, und wählen Sie dann die passende Methode:
| Was Sie haben | Wie Sie es wiederfinden | Ergebnis |
|---|---|---|
| Einen noch erreichbaren Bildlink oder die ursprüngliche Unterhaltung | Bild öffnen, Datei herunterladen, im eigenen Speicher ablegen | Originalbild lässt sich in der Regel retten |
Einen vollständigen ChatGPT-Datenexport (conversations.json plus Bilddateien) |
Mit der ID aus file-service:// im Exportordner suchen |
Ist das Bild im Exportpaket, lässt es sich wiederfinden |
Einen bereits abgelaufenen backend-api- oder oaiusercontent-Link |
Zur ursprünglichen Unterhaltung zurückkehren, vollständigen Export prüfen oder neu generieren | Das Ändern des Links selbst macht ihn nicht wieder gültig |
Nur noch eine gen_id |
Mit dem ursprünglichen Prompt neu generieren | Die Pixel des Originalbilds sind nicht zurückholbar |
| Ein Ablauf, bei dem wiederholt Bilder im Batch erzeugt werden sollen | Mit einer dokumentierten API generieren, herunterladen und unter eigener Adresse speichern | Künftige Bilder liegen in Ihrer eigenen Hand |
Der entscheidende Unterschied: Ein noch gültiger signierter Link lädt eine Datei herunter, während gen_id lediglich eine Nummer innerhalb der Unterhaltung ist und nichts herunterladen kann.
Link noch erreichbar: direkt herunterladen
Wenn die ursprüngliche Unterhaltung noch vorhanden ist, öffnen Sie das generierte Bild und verwenden Sie die Download-Schaltfläche von ChatGPT. Wenn Sie einen Bildlink kopiert haben, öffnen Sie ihn mit dem vollständigen Link (löschen Sie nicht die Parameterkette nach dem ?) und speichern Sie sofort.
Bestätigen Sie nach dem Download die folgenden Punkte, bevor Sie ihn als erfolgreich betrachten:
- HTTP 200 wird zurückgegeben;
- Der Inhaltstyp ist ein Bild, etwa
image/pngoderimage/webp; - Die Dateigröße ist normal, nicht nur ein paar hundert Byte;
- Die Datei lässt sich öffnen und ist genau das gewünschte Bild.
Ein Link, der nur in Ihrem aktuellen Browser funktioniert, taugt nicht als langfristige Adresse: Der Browser führt möglicherweise noch einen Anmeldestatus oder eine frisch ausgestellte Signatur mit. Laden Sie die Datei herunter und übertragen Sie sie in Ihren eigenen Speicher; geben Sie ChatGPT-Links nicht direkt weiter und schreiben Sie sie nicht in Ihre Produkte.
Warum ChatGPT-Bildlinks ablaufen
Für ein generiertes Bild kann es innerhalb von ChatGPT mehrere Arten von Referenzen geben:
gen_id: die Nummer einer bestimmten Generierung innerhalb der Unterhaltung.file-service://file-...: ein interner Dateizeiger, keine URL.chatgpt.com/backend-api/...undfiles.oaiusercontent.com/...: temporäre signierte Download-Links.
Sie erfüllen jeweils unterschiedliche Zwecke, und keiner davon ist eine dauerhaft öffentliche Bildadresse.
Wenn ein kopierter Link nicht funktioniert, sind zwei Fälle häufig:
HTTP 422
missing query fields such as p or ts
Der Link wurde unvollständig kopiert, Signaturparameter fehlen, oder beim Einfügen hat ein Tool den Teil nach dem ? entfernt.
HTTP 404
ResourceNotFound
Die Signatur oder die Datei ist abgelaufen, die Datei wurde gelöscht, oder die Anfrage hat den Kontext verlassen, in dem der Link ausgestellt wurde. Auch wenn Sie mit gen_id einen scheinbar passenden Pfad zusammensetzen, lassen sich Signatur und Bild nicht wiederherstellen.
Bilder aus einem vollständigen Datenexport wiederfinden
Fordern Sie in den ChatGPT-Einstellungen einen Datenexport an; das vollständige Exportpaket enthält conversations.json und separate Bilddateien. Ein Bild sieht in der JSON etwa so aus:
{
"content_type": "image_asset_pointer",
"asset_pointer": "file-service://file-A1b2C3d4E5f6",
"size_bytes": 1417238,
"width": 1024,
"height": 1024,
"metadata": {
"dalle": {"gen_id": "aBcD3fGh1jKl"}
}
}
Nützlich ist der Teil file-... nach file-service://; er lässt sich dem Dateinamen im Exportpaket zuordnen. gen_id ist weder ein Dateiname noch ein Download-Nachweis.
1. Exportpaket vollständig entpacken
Behalten Sie die ursprüngliche Verzeichnisstruktur bei. Wenn Sie nur conversations.json öffnen, verlieren Sie die andere Hälfte, nämlich die zuzuordnenden Bilddateien.
2. Bildzeiger finden
Suchen Sie in conversations.json nach "content_type": "image_asset_pointer", finden Sie die gewünschte Unterhaltung und das gewünschte Bild und kopieren Sie den vollständigen asset_pointer.
3. Datei-ID extrahieren
Entfernen Sie nur das interne Präfix davor:
file-service://file-A1b2C3d4E5f6
└─ file-A1b2C3d4E5f6
Ersetzen Sie file-service:// nicht durch https:// und rufen Sie es dann mit curl auf; es ist keine öffentliche Adresse.
4. In den Exportdateien suchen
Unter macOS oder Linux:
find . -type f -iname '*file-A1b2C3d4E5f6*'
Wenn das Exportpaket die Dateien umbenannt oder in tieferen Verzeichnissen abgelegt hat, suchen Sie nach dem aussagekräftigsten Teil der ID. Falls size_bytes, width, height vorhanden sind, gleichen Sie diese mit den Kandidatendateien ab.
5. Nach Bestätigung an einem eigenen Ort speichern
Öffnen Sie die Kandidatendatei lokal, bestätigen Sie, dass es dieses Bild ist, und übertragen Sie sie in Ihr eigenes S3, R2, CDN oder Ihren Anwendungsspeicher; notieren Sie diese langfristige Adresse.
Bei vielen Bildern listen Sie mit dem folgenden Skript alle Bild-IDs im Exportpaket lokal auf; es stellt keine Verbindung zu ChatGPT her:
import json
from pathlib import Path
data = json.loads(Path("conversations.json").read_text())
seen = set()
def walk(value):
if isinstance(value, dict):
if value.get("content_type") == "image_asset_pointer":
pointer = value.get("asset_pointer", "")
if pointer.startswith("file-service://"):
seen.add(pointer.removeprefix("file-service://"))
for child in value.values():
walk(child)
elif isinstance(value, list):
for child in value:
walk(child)
walk(data)
for file_id in sorted(seen):
print(file_id)
Ein Zeiger belegt nur, dass dieses Bild in der Unterhaltung einmal referenziert wurde; ob die Datei im Exportpaket enthalten ist, ist nicht sicher. Wenn Sie nach dem vollständigen Entpacken die passende Datei trotzdem nicht finden, können weder file-service:// noch gen_id das Originalbild wiederherstellen.
Was tun, wenn nur noch gen_id übrig ist
Es gibt keine öffentliche Schnittstelle, die eine gen_id in PNG, WebP oder einen neuen signierten Link umwandelt. Wenn die ursprüngliche Unterhaltung, ein funktionierender Link und die Datei im Exportpaket alle weg sind, bleibt nur, mit dem ursprünglichen Prompt und dem damaligen Kontext neu zu generieren.
Bewahren Sie die ungültige ID lediglich als Prüfprotokoll auf. Für Bilder, die künftig langfristig erhalten bleiben sollen, notieren Sie Folgendes:
- Prompt und Generierungsparameter;
- welcher Dienst und welches Modell verwendet wurden;
- die Task-ID des Dienstanbieters, um die Fehlersuche und den Support zu erleichtern;
- den Dateipfad oder die langfristige Adresse in Ihrem eigenen Speicher.
Einen automatischen Download-Ablauf mit der API aufbauen
Für die Batch-Erzeugung und Aufbewahrung von Bildern verwenden Sie eine API, die ohnehin Bilddateien zurückgibt. Auf HiAPI lautet der stabile Ablauf: übermitteln, abfragen, herunterladen, prüfen, übertragen.
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2/text-to-image",
"input": {
"prompt": "晨光里,书桌上放着一只纸鹤",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}'
Nach Erhalt der taskId fragen Sie GET /v1/tasks/{taskId} ab und lesen nach Erfolg data.output[0].url und expireAt:
curl -s "https://api.hiapi.ai/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $HIAPI_API_KEY"
curl -s -o generated-image.webp "<data.output[0].url>"
Auch die von der API zurückgegebene Adresse ist temporär, aber die Ablaufzeit steht im Ergebnis (expireAt), sodass Sie rechtzeitig reagieren können. Laden Sie vor dem Ablaufen herunter, prüfen Sie, dass Sie tatsächlich ein Bild und nicht HTML oder eine JSON-Fehlermeldung erhalten, und übertragen Sie die Datei dann in Ihren eigenen Speicher.
gpt-image-2/text-to-image kostet pro Bild in 1K $0.03, in 2K $0.04, in 4K $0.06. Parameter und Online-Test finden Sie auf der GPT Image 2-Modellseite, das Anforderungsformat in der Dokumentation zum Erstellen von Aufgaben.
Speicherpraxis, bei der Links nicht ablaufen können
Für jede erfolgreiche Aufgabe:
- Speichern Sie die Task-ID, bevor Sie abfragen, damit ein Worker bei Wiederholungen nicht doppelt übermittelt und doppelt berechnet.
- Laden Sie die Datei herunter, solange die signierte Adresse noch gültig ist.
- Prüfen Sie Statuscode, Inhaltstyp und Dateigröße und nehmen Sie die Datei erst an, wenn sie ein Bild ist.
- Laden Sie sie unter einem selbst festgelegten Dateipfad hoch.
- Speichern Sie in der Datenbank Ihre eigene Adresse; die temporäre Adresse behalten Sie nur für kurzfristige Fehlersuche.
Häufige Fragen
Wie lade ich ein Bild über einen ChatGPT-Link herunter?
Öffnen Sie den Link mit dem vollständigen Link (einschließlich Signaturparametern), solange er noch erreichbar ist, laden Sie die Bilddatei herunter und speichern Sie sie in Ihrem eigenen Speicher. Behandeln Sie jeden Link, der nur in Ihrem angemeldeten Browser funktioniert, als temporären Link.
Gibt es eine offizielle gen_id-Download-Schnittstelle?
Nein. ChatGPT stellt keine öffentliche Schnittstelle bereit, die „eine gen_id übergibt und ein Bild zurückgibt“; diese Nummer hat nur in der ursprünglichen Unterhaltung Bedeutung.
Warum gibt ein ChatGPT-Bildlink 422 zurück?
In der Regel fehlen dem signierten Link notwendige Parameter. Wenn nur der Pfad kopiert wurde oder ein verwendetes Tool den Teil nach dem ? entfernt hat, ist der Link ungültig.
Warum wird derselbe Link später zu 404?
Signierte Links und die Datei selbst sind temporär. Nach dem Ablaufen ResourceNotFound zurückzugeben, ist normal; auch gen_id kann die Gültigkeit nicht verlängern.
Wie finde ich file-service://-Bilder im Exportpaket?
Kopieren Sie die Datei-ID nach file-service://, suchen Sie im vollständig entpackten Exportpaket nach Dateinamen, die diese ID enthalten, und gleichen Sie sie anhand von Dateigröße sowie Breite und Höhe ab.
Wie erhalte ich eine dauerhafte Bildadresse?
Übertragen Sie die Quelldatei in Ihren eigenen Speicher, solange sie noch herunterladbar ist, und speichern Sie Ihre eigene Adresse. Ob sie dauerhaft ist, hängt von Ihrem eigenen Speicher ab, nicht von den temporären Download-Links des Dienstanbieters.
Ähnliche Artikel
Alle Artikel ansehen →-
Benutzerhandbuch
seedream-5.0-pro/image-to-image Erste-Schritte-Leitfaden: Fähigkeiten, Preise und Integrationspunkte
Fähigkeitsgrenzen, Abrechnungsmodell und Engineering-Integration des Bildbearbeitungsmodells von ByteDance
-
Benutzerhandbuch
seedream-5.0-pro Text-zu-Bild Einstiegsleitfaden: Fähigkeitsgrenzen, API-Integration und Kostenkontrolle
Praxisorientierte Perspektive für Entwickler: von den wichtigsten Parametern bis zur Kostenschätzung von $0,05 pro Bild
-
Benutzerhandbuch
Hailuo 2.3 Fast Bild-zu-Video-Anleitung: Grenzen der Leistungsfähigkeit, Preisgestaltung und Integration in die Praxis
MiniMax Bild-zu-Video-Modell für Entwickler: Auswahlkriterien und Integrationspunkte