Communitygithub.com

akrindev/google-studio-skills

Lade Dateien hoch und verwalte sie über die Google Gemini File API mittels Skripten. Unterstützt Bilder, Audio, Video, PDFs und andere Dateitypen für die Verwendung mit Gemini-Modellen. Ermöglicht Upload, Statusprüfung und Dateiverwaltung.

Was ist google-studio-skills?

Diese Fertigkeit ermöglicht es KI-Agenten, Dateien über die Google Gemini File API hochzuladen und zu verwalten. Sie ist speziell für Entwickler und Nutzer von Plattformen wie Claude Code, Cursor und Codex konzipiert, die Bilder, Audio, Video, PDFs oder andere Dateiformate für multimodale Analysen oder die Verarbeitung mit Gemini bereitstellen müssen. Die Fertigkeit bietet Skripte für grundlegende Uploads, benannte Uploads, Uploads mit Wartezeit bis zur Verarbeitung und Batch-Operationen. Sie integriert sich nahtlos in andere Gemini-Fertigkeiten wie `gemini-text`, `gemini-image`, `gemini-batch` und `gemini-embeddings`, um einen vollständigen Workflow zu ermöglichen. Zu den Kernfunktionen gehören die automatische MIME-Typ-Erkennung, Statusüberwachung (PROCESSING, ACTIVE, FAILED) und Best Practices für Dateiorganisation und Fehlerbehandlung. Die Fertigkeit wird durch Skripte in `scripts/` ausgelöst, die auf Schlüsselbegriffe wie „Datei hochladen“, „Bild hochladen“ und „PDF hochladen“ reagieren.

Funktioniert mit~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/akrindev/google-studio-skills/tree/HEAD/skills/gemini-files

In Ihrer bevorzugten KI fragen

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

Dokumentation

Gemini File API

Lade Dateien für die Verwendung mit Gemini-Modellen über ausführbare Skripte hoch und verwalte sie. Unterstützt Bilder, Audio, Video, PDFs und andere Dateitypen.

Wann diese Fertigkeit verwendet werden sollte

Verwende diese Fertigkeit, wenn du Folgendes benötigst:

  • Bilder für multimodale Analysen hochladen
  • Videos zur Inhaltsverarbeitung hochladen
  • PDFs zur Dokumentenanalyse hochladen
  • Audio für Transkription oder Verarbeitung hochladen
  • Dateien für Batch-Operationen vorab hochladen
  • Dateiverarbeitungsstatus prüfen
  • Hochgeladene Dateien auflisten und verwalten
  • Dateien mit anderen Gemini-Fertigkeiten (Text, Bild usw.) verwenden

Verfügbare Skripte

scripts/upload.js

Zweck: Dateien an die Gemini File API hochladen

Wann verwenden:

  • Hochladen einer beliebigen Datei für die Gemini-Verarbeitung
  • Vorbereiten von Dateien für die multimodale Generierung
  • Dokumente für die Analyse hochladen
  • Batch-Dateivorbereitung

Wichtige Parameter:

ParameterBeschreibungBeispiel
pathDateipfad (erforderlich)image.jpg
--name, -nAnzeigename"mein-dokument"
--wait, -wAuf Verarbeitung wartenFlag

Ausgabe: Dateiname, URI und Statusinformationen

Workflows

Workflow 1: Einfacher Datei-Upload

node scripts/upload.js image.jpg
  • Am besten geeignet für: Schnelle Uploads, einfache Dateien
  • Ausgabe: Dateiname und URI für die API-Nutzung
  • Status: PROCESSING oder ACTIVE

Workflow 2: Upload mit benutzerdefiniertem Namen

node scripts/upload.js document.pdf --name "Quartalsbericht Q4 2026"
  • Am besten geeignet für: Dateiorganisation, Nachverfolgung von Uploads
  • Verwenden, wenn: Der ursprüngliche Dateiname nicht aussagekräftig genug ist
  • Der Anzeigename erscheint in Dateilisten

Workflow 3: Hochladen und auf Verarbeitung warten

node scripts/upload.js video.mp4 --wait
  • Am besten geeignet für: Große Dateien, Videos, Audio
  • Wartet, bis die Datei den Status ACTIVE erreicht
  • Verwenden, wenn: Die Datei sofort nach dem Upload verwendet werden soll

Workflow 4: Bild für Analyse hochladen

# 1. Bild hochladen
node scripts/upload.js photo.png --name "produktfoto"

# 2. Mit gemini-text zur Analyse verwenden
node skills/gemini-text/scripts/generate.js "Beschreibe dieses Bild" --image photo.png
  • Am besten geeignet für: Bildanalyse, Bildunterschriften, visuelle Fragen & Antworten
  • Kombiniert mit: gemini-text für multimodale Verarbeitung

Workflow 5: PDF zur Inhalts Extraktion hochladen

# 1. PDF hochladen
node scripts/upload.js forschungsarbeit.pdf --name "KI-Forschungsarbeit" --wait

# 2. Inhalt mit gemini-text extrahieren
node skills/gemini-text/scripts/generate.js "Extrahiere die wichtigsten Erkenntnisse aus diesem Dokument" --image forschungsarbeit.pdf
  • Am besten geeignet für: Dokumentenverarbeitung, Inhalts Extraktion
  • Kombiniert mit: gemini-text für Analysen

Workflow 6: Mehrere Dateien für Batch-Operationen hochladen

# 1. Mehrere Dateien hochladen
for file in *.jpg; do
    node scripts/upload.js "$file"
done

# 2. Batch-Job mit hochgeladenen Dateien erstellen (gemini-batch Fertigkeit)
  • Am besten geeignet für: Vorbereiten von Dateien für die Batch-Verarbeitung
  • Kombiniert mit: gemini-batch für Bulk-Operationen

Workflow 7: Audio für Transkription hochladen

# 1. Audio hochladen
node scripts/upload.js interview.mp3 --name "interview-001" --wait

# 2. Mit gemini-text verarbeiten (falls Transkription verfügbar)
node skills/gemini-text/scripts/generate.js "Transkribiere und fasse dieses Audio zusammen" --image interview.mp3
  • Am besten geeignet für: Audioverarbeitung, Transkription, Podcast-Analyse
  • Kombiniert mit: gemini-text für Audioanalyse

Workflow 8: Video zur Inhaltsanalyse hochladen

# 1. Video hochladen (kann Zeit in Anspruch nehmen)
node scripts/upload.js produkt-demo.mp4 --name "demo-video" --wait

# 2. Mit gemini-text analysieren
node skills/gemini-text/scripts/generate.js "Analysiere dieses Produkt-Demo-Video" --image produkt-demo.mp4
  • Am besten geeignet für: Videoanalyse, Inhaltszusammenfassung
  • Hinweis: Videos können eine erhebliche Verarbeitungszeit erfordern

Parameter-Referenz

Unterstützte Dateitypen

TypErweiterungenMaximale GrößeVerarbeitungszeit
Bilderjpg, jpeg, png, gif, webp20 MBSekunden
Audiomp3, wav, aac, flac25 MBSekunden–Minuten
Videomp4, mov, avi, webm2 GBMinuten–Stunden
Dokumentepdf, txt50 MBSekunden–Minuten

MIME-Typen

Das Skript erkennt automatisch anhand der Erweiterung:

  • Bilder: image/jpeg, image/png, image/gif, image/webp
  • Audio: audio/mpeg, audio/wav
  • Video: video/mp4, video/quicktime, video/webm
  • Dokumente: application/pdf, text/plain

Dateistatus

StatusBeschreibungBereit zur Verwendung
PROCESSINGDatei wird analysiertNein
ACTIVEDatei ist bereitJa
FAILEDVerarbeitung fehlgeschlagenNein

Ausgabe-Interpretation

Upload-Antwort

Lade photo.png hoch...
Hochgeladen: files/abc123...
URI: gs://generation-tmp/abc123...
Status: PROCESSING
  • Dateiname: In API-Aufrufen verwenden
  • URI: Interner Google Cloud Storage Verweis
  • Status: PROCESSING = warten, ACTIVE = bereit

Mit --wait Flag

Lade video.mp4 hoch...
Hochgeladen: files/xyz789...
URI: gs://generation-tmp/xyz789...
Status: PROCESSING
Warte auf Verarbeitung...
Wird noch verarbeitet...
Datei bereit!
  • Skript fragt ab, bis der Status ACTIVE ist
  • Für große Dateien verwenden, die Verarbeitung benötigen
  • Kann bei Videos Minuten dauern

Verwendung hochgeladener Dateien

Nach dem Upload die Datei mit Namen referenzieren:

# Mit gemini-text
node skills/gemini-text/scripts/generate.js "Analysieren" --image <hochgeladener-dateipfad>

Häufige Probleme

"google-genai nicht installiert"

npm install @google/genai@latest dotenv@latest

"Datei nicht gefunden"

  • Überprüfe, ob der Dateipfad korrekt ist
  • Verwende absolute Pfade, wenn relative Pfade fehlschlagen
  • Stelle sicher, dass die Dateierweiterung den unterstützten Typen entspricht

"Datei zu groß"

  • Überprüfe die Größenbeschränkungen für den Dateityp
  • Komprimiere Bilder/Videos wenn möglich
  • Teile große Dateien in kleinere Teile auf

"Nicht unterstützter Dateityp"

  • Überprüfe die unterstützten Erweiterungen
  • Konvertiere in ein unterstütztes Format, falls möglich
  • Bilder: jpg, png, gif, webp
  • Videos: mp4, mov, avi, webm

"Verarbeitung fehlgeschlagen"

  • Überprüfe, ob die Datei nicht beschädigt ist
  • Versuche, die Datei erneut hochzuladen
  • Überprüfe das Dateiformat auf Gültigkeit
  • Prüfe die API-Kontingentlimits

"Datei wird noch verarbeitet" (ohne --wait)

  • Dateistatus ist PROCESSING, nicht ACTIVE
  • Verwende das --wait Flag oder prüfe den Status später
  • Große Dateien (insbesondere Videos) benötigen Zeit
  • Die Verarbeitung kann Minuten bis Stunden dauern

Best Practices

Upload-Strategie

  • Verwende --wait für Dateien, die sofort verwendet werden sollen
  • Überspringe --wait für Batch-Uploads, um Zeit zu sparen
  • Verwende beschreibende --name für die Organisation
  • Behalte Dateinamen für die spätere Verwendung im Auge

Dateiorganisation

  • Verwende konsistente Namenskonventionen
  • Füge Daten oder Versionen in Namen ein
  • Gruppiere zusammengehörige Dateien
  • Dokumentiere Dateinamen in deinem Code

Leistungstipps

  • Lade mehrere Dateien parallel hoch (getrennte Prozesse)
  • Lade Dateien für Batch-Operationen vorab hoch
  • Überprüfe den Dateistatus vor der Verwendung in API-Aufrufen
  • Lösche alte Dateien, um Speicherplatz zu verwalten

Fehlerbehandlung

  • Überprüfe den Rückgabestatus nach dem Upload
  • Wiederhole fehlgeschlagene Uploads
  • Überprüfe die Dateiintegrität vor dem Upload
  • Protokolliere Dateinamen für Prüfpfade

Integration mit anderen Fertigkeiten

  • gemini-text: Multimodale Analyse, Dokumentenverarbeitung
  • gemini-image: Bilder basierend auf hochgeladener Referenz generieren
  • gemini-batch: Hochgeladene Dateien in Batch-Jobs verwenden
  • gemini-embeddings: Einbettungen aus Dateiinhalten erstellen

Datei-Lebenszyklus

  • Upload → PROCESSING → ACTIVE → Verwendung in API
  • Lösche alte Dateien, um Speicher freizugeben
  • Dateien können nach einer bestimmten Zeit ablaufen
  • Wichtige Dateien zur Sicherung herunterladen

Verwandte Fertigkeiten

  • gemini-text: Analysiere hochgeladene Dateien mit Textgenerierung
  • gemini-image: Erstelle Bilder basierend auf hochgeladenen Referenzen
  • gemini-batch: Verwende hochgeladene Dateien in der Batch-Verarbeitung
  • gemini-embeddings: Generiere Einbettungen aus Dateiinhalten

Kurzreferenz

# Einfacher Upload
node scripts/upload.js image.jpg

# Mit benutzerdefiniertem Namen
node scripts/upload.js document.pdf --name "Mein Dokument"

# Auf Verarbeitung warten
node scripts/upload.js video.mp4 --wait

# Mehrere Dateien
for file in *.jpg; do node scripts/upload.js "$file"; done

Dateiverwaltungs-API

Obwohl nicht in Skripten enthalten, kannst du Dateien auch über JavaScript verwalten:

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

// Alle Dateien auflisten
for await (const file of client.files.list()) {
  console.log(`${file.name}: ${file.displayName} (${file.state})`);
}

// Dateiinfo abrufen
const file = await client.files.get({ name: "files/abc123..." });
console.log(`Status: ${file.state}`);

// Datei löschen
await client.files.delete({ name: "files/abc123..." });

Referenz

Verwandte Skills