CommunityBildgithub.com

weber87na/openai-image

Nutzung der offiziellen OpenAI Images API zur Erstellung von Standbildern und nativen animierten GIFs. Verwenden Sie diesen Skill, wenn ein Benutzer das Zeichnen, die Bilderstellung, animierte Aufkleber, GIFs oder Text-to-Image anfordert.

Was ist openai-image?

Dieser Skill ist ein eigenständiges Agenten-Skills-Paket, das projekt- oder benutzerspezifisch installiert werden kann. Er ermöglicht die Generierung von Standbildern (PNG, JPEG, WebP) und nativen animierten GIFs über die OpenAI Images API. Der Skill verwendet ein Python-CLI, das mit 'uv' ausgeführt wird und keine Drittanbieter-Abhängigkeiten wie Pillow, FFmpeg oder das OpenAI SDK benötigt. Animierte GIFs werden durch Parameter wie 'output_format=gif', 'frame_count' und 'frame_duration_ms' in einem einzigen API-Aufruf erstellt. Der Skill ist für den Einsatz mit Agenten wie Codex und GitHub Copilot konzipiert und führt vor der eigentlichen Ausführung einen Trockenlauf ('dry-run') durch, um die Parameter zu validieren. Er überprüft die OPENAI_API_KEY-Umgebungsvariable, lädt bei Bedarf eine .env-Datei und bewahrt die Benutzereinstellungen, indem er keine vorhandenen Dateien überschreibt, ohne explizite Zustimmung. Fehlerbehandlungsroutinen erkennen fehlende Schlüssel, HTTP-Fehler und ungültige Antworten. Der Skill bietet auch lokale Offline-Tests, die einen simulierten HTTP-Server verwenden, um die Funktionalität zu überprüfen, ohne die OpenAI-API aufzurufen.

Funktioniert mit~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/weber87na/openai-image-skill/tree/HEAD/.agents/skills/openai-image

Installed? Explore more Bild skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

OpenAI Bildgenerierung und native GIFs

Dieser Skill ist ein unabhängiges Agenten-Skills-Paket, das sowohl projekt- als auch benutzerspezifisch installiert werden kann. Das Verzeichnis, in dem sich diese Datei befindet, ist das Skill-Stammverzeichnis. Es darf kein fester Installationspfad oder das aktuelle Arbeitsverzeichnis angenommen werden. Alle Python-Befehle müssen mit uv ausgeführt werden; verwenden Sie kein bloßes python, pip oder erstellen Sie selbst ein venv.

Fähigkeiten und Einschränkungen

  • Standbilder: PNG, JPEG, WebP.
  • Native animierte GIFs: Verwendung von output_format=gif, frame_count, frame_duration_ms mit einem einzigen Aufruf von /v1/images/generations.
  • Standardmodell: gpt-image-2.6-sunburst; für schnelle Iterationen kann gpt-image-2.6-flare gewählt werden. Umgangssprachliche Namen wie gpt-image2.6 sollten nicht direkt als Modell-ID verwendet werden.
  • GIFs erfordern derzeit GIF-Preview-Zugriff auf das gewählte Modell; ein Abonnement von ChatGPT / Codex / Copilot allein reicht nicht aus.
  • GIFs unterstützen 2–16 Frames, standardmäßig 9; jeder Frame standardmäßig 200 ms, mindestens 20 ms, die API rundet auf 10 ms auf, maximale Kodierung 655350 ms. Die Standardanimation dauert etwa 1,8 Sekunden; die tatsächliche Zeit basiert auf den Ausgabedaten.
  • Es wird nicht dasselbe Bild in mehrere Frames kopiert, keine PNG-Dateien in GIF umbenannt, und bei Fehlern wird nicht heimlich auf mehrere Bildgenerierungen oder andere kostenpflichtige Dienste zurückgegriffen.
  • Dieses CLI konzentriert sich auf Text-zu-Bild, bietet keine Bildbearbeitung, Streaming, Videogenerierung oder lokale Animationssynthese. Es hat keine Abhängigkeiten von Pillow, FFmpeg oder dem OpenAI SDK.

Arbeitsablauf

  1. Entscheiden, ob ein Standbild oder eine Animation gewünscht ist; das vom Benutzer angegebene Motiv, die Komposition, der Text, der Stil und der Ausgabepfad bleiben erhalten.
  2. Für Animationen werden Beschreibungen wie „Bewegung, feste Kameraposition, konsistenter Hintergrund, nahtloser Übergang“ ergänzt. Ändern Sie die Anforderungen nicht ohne Zustimmung. Wenn keine Frames oder Geschwindigkeit angegeben sind, werden die Standardwerte verwendet; wenn die API-Grenzen überschritten werden, erklären Sie dies zuerst und fragen Sie nach Kompromissen.
  3. Darauf hinweisen, dass OpenAI-API-Kontingent verbraucht wird; nur aufrufen, wenn der Benutzer die Bildgenerierung autorisiert hat. Das bloße Erstellen des Skills, Anzeigen der Hilfe oder ein Trockenlauf berechtigen nicht zu kostenpflichtigen Tests. Keine Quellcodes, Anmeldeinformationen oder andere vertrauliche Daten senden.
  4. uv --version überprüfen. Wenn uv nicht installiert ist, den Benutzer bitten, uv zu installieren; keine Systemtools eigenmächtig installieren.
  5. Prüfen, ob OPENAI_API_KEY vorhanden ist; niemals den Inhalt von .env oder des Schlüssels ausgeben, nicht in den Chat einfügen lassen, nicht in Quellcode oder Repositorys schreiben. Bei vorhandenen Umgebungsvariablen im Prozess direkt verwenden; wenn eine dotenv-Datei benötigt wird, den absoluten Pfad der .env-Datei im Arbeitsprojekt des Benutzers oder explizit angegeben bestätigen und mit uv run --env-file <Pfad> laden. Nicht im Skill-Installationsverzeichnis nach Anmeldeinformationen anderer Projekte suchen. Dieses Tool verbindet sich nur mit https://api.openai.com und liest nicht OPENAI_BASE_URL.
  6. Den absoluten Pfad des CLI aus dem Skill-Stammverzeichnis ermitteln, zuerst einen Trockenlauf zur Parameterprüfung durchführen, dann eine echte Anfrage ausführen. Der Ausgabepfad bezieht sich auf das Arbeitsprojekt des Benutzers, nicht auf das Skill-Installationsverzeichnis. Bei der ersten Einrichtung die mitgelieferte leere Konfigurationsvorlage und den Benutzerleitfaden verwenden; keine vorhandenen Konfigurationen überschreiben.
  7. Den Exit-Code und das Ergebnis-JSON überprüfen. Das Tool validiert das Rückgabeformat, parst GIF-Blöcke, stellt mindestens zwei Frames sicher, meldet die tatsächliche Größe, die Anzahl der Frames und die Gesamtdauer, bevor es die Datei schreibt. Dies ist eine Container- und Formatprüfung, keine vollständige Pixeldaten- oder visuelle Qualitätskontrolle; die Überprüfung des Bildes erfolgt erst, wenn eine Bildvorschau möglich ist.
  8. Einen Link zur Ausgabedatei bereitstellen; wenn kein GIF in der Vorschau angezeigt wird, darf nicht behauptet werden, dass die visuelle Qualität überprüft wurde. Wenn die Anzahl der Frames nicht übereinstimmt, eine Warnung anzeigen, nicht verschweigen.

Ausführung

Zunächst $skillDir als absoluten Pfad zum Skill-Stammverzeichnis setzen, basierend auf dem Ladeort. Dann vom Arbeitsprojekt des Benutzers aus ausführen. Vollständige Konfiguration, Beispiele für Standbilder/GIFs und Parameter finden Sie im Benutzerleitfaden.

$script = Join-Path $skillDir 'scripts\openai_image.py'
uv run --no-env-file --script "$script" --prompt 'Originaler Aquarellstil der taiwanesischen Berge und des Morgennebels, kein Text' --output outputs\mountains.png --dry-run
  • --dry-run benötigt keinen API-Key, ruft keine API auf und schreibt keine Datei; es zeigt den Prompt an und darf keine vertraulichen Inhalte enthalten. uv kann beim ersten Mal trotzdem die Python-Laufzeitumgebung herunterladen, wenn sie fehlt.
  • --dry-run erst entfernen, wenn die Genehmigung zur Bildgenerierung vorliegt. Wenn eine dotenv-Datei benötigt wird, --no-env-file durch --env-file <absoluter Pfad der benutzerspezifischen .env-Datei> ersetzen.
  • GIFs verwenden die Erweiterung .gif und können mit --frames 9 --frame-duration-ms 200 konfiguriert werden; n=1 bezieht sich auf die gesamte Animation, nicht auf die Anzahl der Frames.
  • Für GIFs irrelevante Parameter wie response_format, stream, partial_images, output_compression werden nicht gesendet.
  • Standardmäßig wird keine Größe angegeben; benutzerdefinierte Größen müssen ein Vielfaches von 16 sein und ein Seitenverhältnis zwischen 1:3 und 3:1 haben. GIFs haben zusätzliche modellspezifische Größenbeschränkungen; nicht davon ausgehen, dass Standbildgrößen immer anwendbar sind.
  • --overwrite wird nicht bereitgestellt, es sei denn, der Benutzer stimmt ausdrücklich zu, vorhandene Dateien zu ersetzen.

Fehlerbehandlung

  • Fehlender Schlüssel: Anhalten, den Benutzer bitten, ihn in seiner eigenen Umgebung zu setzen; den Schlüssel nicht in den Chat einfügen.
  • HTTP 401 / 403 / 404: Anmeldeinformationen, vollständige Modell-ID, Organisationsvalidierung und GIF-Preview-Berechtigungen überprüfen.
  • HTTP 400: Größe, Format, Bildparameter und Modellunterstützung überprüfen; nicht automatisch auf andere Formate oder Synthesemethoden downgraden.
  • HTTP 429, 5xx, Zeitüberschreitung oder Verbindungsunterbrechung: Möglicherweise bereits verarbeitet und abgerechnet; zuerst melden, nach Zustimmung des Benutzers erneut senden.
  • Nicht-animierte GIFs, falsche Formate, ungültige Base64 oder unvollständige GIFs: Erfolgreiche Meldung ablehnen, nicht in die Zieldatei schreiben.
  • Wenn der Ausgabepfad nicht existiert, automatisch das übergeordnete Verzeichnis erstellen; vorhandene Dateien werden standardmäßig nicht ersetzt. Das Dateisystem muss Hardlinks unterstützen, um atomar zu speichern, ohne zu überschreiben; wenn nicht, wird ein Fehler gemeldet, es wird nicht stillschweigend überschrieben.

Validierung

Offline-Tests verwenden nur einen lokalen HTTP-Simulationsserver, lesen keine echten Schlüssel, verbinden sich nicht mit OpenAI und verursachen keine Kosten:

$tests = Join-Path $skillDir 'tests\test_openai_image.py'
uv run --no-env-file --script "$tests"

Tests bedeuten nicht, dass die Modell-/GIF-Preview-Berechtigung erteilt wurde oder dass eine kostenpflichtige End-to-End-Validierung abgeschlossen wurde. Die tatsächliche Generierung erfordert einen gültigen Schlüssel und die Autorisierung des Benutzers.

Aufruf im Agenten

  • Copilot: /openai-image verwenden oder direkt sagen „Zeichne ein Bild / erstelle ein animiertes GIF mit OpenAI“.
  • Codex: $openai-image verwenden oder in natürlicher Sprache anfordern, diesen Skill zu verwenden; die Codex-Schnittstellenkonfiguration hat keine Auswirkungen auf gemeinsam genutzte Befehle.
  • Wenn nicht gefunden, überprüfen, ob die aktuelle Umgebung den Installationsort unterstützt, und den Chat neu starten oder die Skill-Liste neu laden. Copilot CLI und Codex können .agents/skills gemeinsam nutzen; einige Copilot-Umgebungen verwenden .github/skills. Bitte den gesamten Ordner verschieben, nicht denselben Skill in mehrere gleichzeitig gescannte Speicherorte kopieren.

Offizielle Referenzen

Implementierungsparameter basieren auf den am 11.09.2026 eingesehenen offiziellen Dokumenten; Modellzugriff, Einschränkungen und Preise können sich ändern.

Verwandte Skills