UNPKG

n8n-nodes-gemini-ai

Version:

n8n community node for Google Gemini AI integration with text generation, file upload & analysis, and TTS (Text-to-Speech) support

301 lines (224 loc) 11.7 kB
![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