![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

# n8n-nodes-gemini-ai

n8n community node for Google Gemini AI integration

## Version 0.6.7 - Critical TTS Fix

### What's New
- **Critical TTS Structure Fix**: תיקון מבנה הבקשה לפי הדוקומנטציה הרשמית החדשה של Google
- **Fixed Request Format**: שינוי מבנה speechConfig לפי הפורמט הנכון של Gemini API
- **Stable Audio Generation**: TTS אמור לעבוד כעת בצורה מושלמת

### TTS API Changes Fixed
- **Correct speechConfig Structure**: שימוש במבנה הנכון `speechConfig.voiceConfig.prebuiltVoiceConfig`
- **Proper responseModalities**: שימוש ב-`["AUDIO"]` במקום `["audio"]`
- **Removed Extra model Field**: הסרת שדה model מיותר מגוף הבקשה

### Previous Versions
- **0.6.6**: תיקון המרת PCM ל-WAV + WAV header
- **0.6.5**: שיפור טיפול בשגיאות TTS ועיצוב SVG חדש
- **0.6.4**: הוספת 30 קולות + מודלים חדשים + מחיקת יצירת תמונות

## תכונות

✅ **יצירת טקסט** - שליחת שאילתות טקסט ל-Gemini AI עם מודלים מתקדמים  
✅ **העלאת קבצים** - העלאת קבצים באמצעות binary data מנודים קודמים  
✅ **ניתוח קבצים** - ניתוח תמונות, אודיו, PDF ועוד באמצעות AI  
✅ **יצירת TTS** - המרת טקסט לקול באיכות גבוהה עם 30 קולות שונים  
✅ **תמיכה בפורמטים מרובים** - אודיו (MP3, WAV, OGG, OGA), תמונות (JPEG, PNG), PDF, וידאו ועוד  
✅ **העבודה עם זרימות n8n** - קבלת קבצים מנודים קודמים ללא צורך בנתיבים  
✅ **מודלים מתקדמים** - תמיכה במודלים החדשים של Gemini 2.5 ו-2.0

## התקנה

```bash
npm install n8n-nodes-gemini-ai
```

או חיפוש ב-n8n Community Nodes:
`n8n-nodes-gemini-ai`

## הגדרה

1. צור מפתח API ב-[Google AI Studio](https://aistudio.google.com/app/apikey)
2. ב-n8n, הוסף את ה-Credentials החדש: "Gemini API"
3. הזן את ה-API Key שיצרת

## שימוש

### 🔤 יצירת טקסט

פעולה בסיסית לשליחת שאילתות טקסט ל-Gemini AI.

**פרמטרים:**
- **Prompt** - השאילתה הראשית
- **System Prompt** - הוראות מערכת (אופציונלי)
- **Model** - בחירת מודל Gemini:
  - **Gemini 2.5 Flash Preview** - מודל מתקדם עם חשיבה דינמית
  - **Gemini 2.5 Pro Preview** - חשיבה מתקדמת והבנה מולטימדיה משופרת
  - **Gemini 2.0 Flash** - תכונות דור הבא, מהירות וזמן אמת
  - **Gemini 2.0 Flash-Lite** - חסכוני עם זמן אחזור קצר
  - **Gemini 1.5 Flash** - מהיר ויעיל
  - **Gemini 1.5 Flash-8B** - למשימות בנפח גבוה עם אינטליגנציה נמוכה יותר
  - **Gemini 1.5 Pro** - למשימות מורכבות הדורשות יותר אינטליגנציה
- **Temperature** - רמת היצירתיות (0-2)
- **Max Output Tokens** - מספר מקסימלי של מילים בתגובה
- **Response Format** - פורמט התגובה (Text/JSON)

### 📁 העלאת קבצים

מעלה קבצים מנודים קודמים ל-Gemini Files API.

**שימוש:**
1. השתמש בנוד שמייצר קובץ בינארי (כמו "Read Binary File", "HTTP Request", "Google Drive" וכו')
2. חבר את הנוד הזה אחרי הנוד שיצר את הקובץ
3. בחר את שם ה-Binary Property (בדרך כלל "data")
4. הזן שם תצוגה לקובץ (אופציונלי)

**פרמטרים:**
- **Binary Property** - שם המאפיין הבינארי (בדרך כלל "data")
- **Display Name** - שם לתצוגה בGemini (אופציונלי, יחזור לשם הקובץ המקורי)

**פלט:**
- **fileUri** - URI של הקובץ המועלה (לשימוש בפעולת ניתוח)
- **fileName** - שם הקובץ
- **mimeType** - סוג הקובץ
- **sizeBytes** - גודל הקובץ

### 🔍 ניתוח קבצים

מנתח קבצים שהועלו עם Gemini AI.

**פרמטרים:**
- **File URI** - URI של הקובץ (מפעולת ההעלאה)
- **File MIME Type** - סוג הקובץ (שדה חופשי לכתיבה - תוכל להזין כל MIME type)
- **Prompt** - מה תרצה לדעת על הקובץ
- **Model** - מודל Gemini לניתוח (כל המודלים הזמינים כמו ביצירת טקסט)

**סוגי קבצים נתמכים:**
- **אודיו**: MP3, WAV, OGG, OGA
- **תמונות**: JPEG, PNG
- **מסמכים**: PDF
- **וידאו**: MP4, MOV
- **אחר**: קבצים נוספים

### 🎤 יצירת TTS (Text-to-Speech)

המרת טקסט לאודיו באיכות גבוהה עם 30 קולות שונים.

**פרמטרים:**
- **Text to Speak** - הטקסט שתרצה להמיר לקול (תוכל לכלול הנחיות סגנון כמו "Say cheerfully:")
- **TTS Model** - בחירת מודל TTS:
  - **Gemini 2.5 Flash Preview TTS** - מהיר עם זמן אחזור קצר
  - **Gemini 2.5 Pro Preview TTS** - איכות גבוהה עם שליטה משופרת
- **Voice** - בחירת הקול מתוך 30 אפשרויות:
  - **Zephyr** (Bright), **Puck** (Upbeat), **Charon** (Informative)
  - **Kore** (Firm), **Fenrir** (Enthusiastic), **Leda** (Young)
  - **Orus** (Friendly), **Aoede** (Breezy), **Callirrhoe** (Light)
  - **Autonoe** (Bright), **Enceladus** (Breathy), **Iapetus** (Clear)
  - **Umbriel** (Calm), **Algieba** (Smooth), **Despina** (Smooth)
  - **Erinome** (Clean), **Algenib** (Gravelly), **Rasalgethi** (Informative)
  - **Laomedeia** (Upbeat), **Achernar** (Soft), **Alnilam** (Firm)
  - **Schedar** (Even), **Gacrux** (Mature), **Pulcherrima** (Expressive)
  - **Achird** (Friendly), **Zubenelgenubi** (Casual), **Vindemiatrix** (Gentle)
  - **Sadachbia** (Energetic), **Sadaltager** (Expert), **Sulafat** (Warm)

**פלט:**
- **Binary Audio File** - קובץ אודיו בפורמט WAV
- **Metadata** - מידע על המודל, הקול וגודל הקובץ

## דוגמאות זרימות עבודה

### 📸 ניתוח תמונה
```
Read Binary File → Upload File → Analyze File
```

### 🎵 תמלול אודיו  
```
HTTP Request (download audio) → Upload File → Analyze File
```

### 📄 סיכום PDF
```
Google Drive (download PDF) → Upload File → Analyze File
```

### 🔗 ניתוח קובץ מURL
```
HTTP Request (binary=true) → Upload File → Analyze File
```

### 🎤 יצירת אודיו מטקסט
```
Manual Trigger → Gemini (Generate TTS) → Write Binary File
```

### 🔄 זרימה מורכבת - טקסט לאודיו לתמלול
```
Manual Trigger → Gemini (Generate TTS) → Gemini (Upload File) → Gemini (Analyze File)
```

## הערות טכניות

- **מגבלות גודל**: עד 20MB לקובץ (מגבלת Google)
- **זמן תפוגה**: קבצים נמחקים אוטומטית אחרי 48 שעות
- **עלויות**: חיוב לפי גודל הקובץ ומורכבות הניתוח
- **זמן עיבוד**: קבצים גדולים יכולים לקחת יותר זמן
- **Binary Data**: הנוד מצפה לקבל קבצים בפורמט binary מנודים קודמים
- **TTS**: נוצר אודיו בפורמט WAV באיכות גבוהה עם תמיכה ב-30 קולות שונים
- **מודלים מתקדמים**: תמיכה מלאה במודלים החדשים של Gemini 2.5 ו-2.0

## דוגמאות ספציפיות

### תמלול שיחה מקובץ אודיו
**Prompt לניתוח**: "תמלל את השיחה הזו ותן לי סיכום של הנקודות העיקריות"

### ניתוח תמונה רפואית  
**Prompt לניתוח**: "תאר את התמונה הזו ותן התרעות על ממצאים חשובים"

### סיכום מסמך PDF ארוך
**Prompt לניתוח**: "תן לי סיכום של 3 נקודות עיקריות במסמך הזה"

### יצירת TTS עם הנחיות סגנון
**Text to Speak**: "Say cheerfully: Have a wonderful day!"  
**TTS Model**: Gemini 2.5 Flash Preview TTS  
**Voice**: Kore (Firm)

### יצירת אודיו ספרותי
**Text to Speak**: "Say in a spooky whisper: By the pricking of my thumbs... Something wicked this way comes"  
**Voice**: Umbriel (Calm)

## תמיכה וקישורים

- [GitHub Repository](https://github.com/your-username/n8n-nodes-gemini-ai)
- [NPM Package](https://www.npmjs.com/package/n8n-nodes-gemini-ai)
- [Google Gemini API Documentation](https://ai.google.dev/docs)
- [n8n Community](https://community.n8n.io)

## רישיון

MIT License

## 🛠️ פיתוח

### הגדרת סביבת פיתוח
```bash
git clone <repository-url>
cd n8n-nodes-gemini-ai
npm install
npm run dev  # עבור watching mode
```

### בנייה
```bash
npm run build
```

### Linting
```bash
npm run lint
npm run lintfix  # תיקון אוטומטי
```

### פורמט קוד
```bash
npm run format
```

## 🔍 פתרון בעיות

### שגיאות נפוצות

#### "API Key not found"
- ודא שיצרת credential עם API Key תקין
- בדק שה-credential מחובר לנוד

#### "Model not found"
- ודא שאתה משתמש במודל תקין
- בדק שה-API Key שלך תומך במודל הנבחר

#### "Rate limit exceeded"
- המתן מספר דקות לפני ניסיון חוזר
- בדק את ה-quota ב-Google Cloud Console

#### "Invalid response format"
- ודא שהפרומפט תקין
- בדק שלא חורגים ממגבלות הטוקנים

## 📋 API Reference

### Gemini API Endpoints
- Base URL: `https://generativelanguage.googleapis.com/v1beta`
- Generate Content: `/models/{model}:generateContent`

### מודלים נתמכים

**מודלי טקסט וניתוח קבצים:**
- `gemini-2.5-flash-preview-05-20` - מודל מתקדם עם חשיבה דינמית
- `gemini-2.5-pro-preview-05-06` - חשיבה מתקדמת והבנה מולטימדיה משופרת
- `gemini-2.0-flash` - תכונות דור הבא, מהירות וזמן אמת
- `gemini-2.0-flash-lite` - חסכוני עם זמן אחזור קצר
- `gemini-1.5-flash` - מהיר ויעיל
- `gemini-1.5-flash-8b` - למשימות בנפח גבוה עם אינטליגנציה נמוכה יותר
- `gemini-1.5-pro` - למשימות מורכבות הדורשות יותר אינטליגנציה

**מודלי TTS:**
- `gemini-2.5-flash-preview-tts` - מהיר עם זמן אחזור קצר
- `gemini-2.5-pro-preview-tts` - איכות גבוהה עם שליטה משופרת

## 🤝 תרומה

מוזמנים לתרום לפרויקט!

1. Fork את הפרויקט
2. צרו branch חדש (`git checkout -b feature/amazing-feature`)
3. Commit השינויים (`git commit -m 'Add amazing feature'`)
4. Push ל-branch (`git push origin feature/amazing-feature`)
5. פתחו Pull Request

## 📝 רישיון

MIT License - ראו קובץ LICENSE לפרטים

## 🔗 קישורים

- [Google Gemini API Documentation](https://ai.google.dev/gemini-api/docs)
- [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
- [Google AI Studio](https://aistudio.google.com/)

## 📞 תמיכה

יש בעיה? פתחו issue ב-GitHub או צרו קשר דרך:
- GitHub Issues: [פתח issue](https://github.com/your-username/n8n-nodes-gemini/issues)
- Email: your.email@example.com

---

נוצר עם ❤️ עבור קהילת n8n
