{
  "aboutHtml": "<p>Gemini Embedding 2 הוא מודל ההטמעה הרב־מודלי של Google לייצוג מספרי של טקסט, תמונות, וידאו, אודיו ו־PDF. הוא ממפה את סוגי המדיה השונים למרחב משותף, כדי שיישום יוכל להשוות משמעות ביניהם. התוצאה היא וקטור של מספרים, שימושי לחיפוש סמנטי, לאחזור מסמכים, להמלצות, לסיווג או לקיבוץ לאשכולות; זו אינה תשובה כתובה או קובץ מדיה שנוצר בידי המודל. Google מתעדת כיסוי סמנטי ביותר מ־100 שפות.</p><p>עבור בסיס ידע, צרו וקטורים לקטעי המקור, השוו אליהם את שאילתת המשתמש ואחזרו את החומר הרלוונטי. מודל טקסט נפרד יכול לאחר מכן לחבר תשובה באמצעות המקורות האלה. באוסף מדיה, תיאור טקסטואלי יכול לחפש תמונות או וידאו קשורים; תמונה יכולה גם היא לשמש כשאילתה. שמרו את החיבור של כל וקטור לתוכן המקורי, לרבות הפניה לעמוד או לקליפ, כדי שאפשר יהיה לבדוק את התוצאה שאוחזרה ולהציגה בהקשרה המקורי.</p><p>מגבלת הקלט הכוללת היא 8192 טוקנים. מדריך המודל היציב מאפשר עד שש תמונות PNG או JPEG, עד 180 שניות של אודיו MP3 או WAV ועד 120 שניות של וידאו MP4 או MOV. קודקי הווידאו המתועדים הם H264, H265, AV1 ו־VP9. עיבוד הווידאו משתמש לכל היותר ב־32 פריימים: קליפים של עד 32 שניות נדגמים בפריים אחד לשנייה, ואילו קליפים ארוכים יותר נדגמים באופן אחיד ל־32 פריימים. רצועת האודיו של הסרטון אינה מעובדת בקלט הווידאו הזה; הטמיעו את הצליל שלו בנפרד כשהוא חשוב לאחזור.</p><p>קלט PDF מקבל קובץ אחד עם לכל היותר שישה עמודים. Google ממליצה על עמוד אחד לכל PDF לקבלת האיכות הטובה ביותר. חלקו מקור גדול יותר לעמודים או לסעיפים בעלי משמעות ושמרו את הקשר שלהם למסמך המקורי. בחרו קטע המייצג את מה שצריך להיות ניתן לאחזור, במקום לשלב חומרים לא קשורים רק מפני שהם נכנסים למגבלה. גבול הטוקנים המשותף עדיין חל על בקשה המשלבת מדיה. כל עמוד PDF צורך 258 טוקנים חזותיים נוסף על טוקני הטקסט שחולץ ממנו. בתהליך המתועד של Google, תוכן החורג מהמגבלה המשותפת של 8192 טוקנים נקטע ללא שגיאה.</p><p>מספר ממדי הפלט גמיש בין 128 ל־3072, עם ברירת מחדל של 3072 וגדלים מומלצים של 768, 1536 ו־3072. המודל משתמש ב־Matryoshka Representation Learning, כך שתחיליות הווקטור נשארות שימושיות במספר ממדים קטן יותר. המדריך שלו מתעד נרמול אוטומטי הן לווקטורים בגודל ברירת המחדל והן לווקטורים מקוצרים. בחרו מספר ממדים עקבי לרשומות ולשאילתות שהיישום משווה; הגודל המבוקש משנה את הייצוג המספרי, ולא את תוכן המקור עצמו.</p><p>למשימות טקסט בלבד, כללו את המטרה בטקסט במקום להשתמש בשדה הישן task_type. Google מבחינה בין אחזור אסימטרי להשוואה סימטרית. שאילתת חיפוש משתמשת ב־“task: search result | query: {content}”, ואילו מסמך מקור משתמש ב־“title: {title} | text: {content}”; השתמשו ב־“title: none” אם אין לו כותרת. למשימות מענה על שאלות, בדיקת עובדות ואחזור קוד יש תחיליות שאילתה משלהן. בסיווג, בקיבוץ לאשכולות או בדמיון בין משפטים, השתמשו באותו פורמט משימה בעקביות בשני הצדדים. המדריך ממליץ בדרך כלל שלא להוסיף תחילית משימה לחלק הטקסטואלי של ייצוג רב־מודלי משולב.</p><p>מבנה הקלט קובע אם התוצאה מייצגת אובייקט משולב אחד או פריטים נפרדים. חלקים מרובים המסופקים יחד יוצרים הטמעה מאוגדת; אובייקטי Content נפרדים יוצרים הטמעות נפרדות לכל רשומה. עבור פוסט הכולל טקסט ותמונה, ייצוג משולב יכול ללכוד את הקשר ביניהם. רשומות שניתן לחפש בנפרד השאירו נפרדות. הבחירה הזו משפיעה על רמת הפירוט של האחזור: וקטור אחד לפוסט שלם שונה מווקטור לכל קטע או תמונה.</p><p>המדריך מציין שווקטורים מ־Gemini Embedding 001 ומ־Gemini Embedding 2 נמצאים במרחבים לא תואמים ואי אפשר להשוות ביניהם ישירות. אוסף המועבר מהמודל הישן זקוק להטמעה מחדש עבור המרחב החדש. שמרו על עקביות בבחירת המודל ובמספר הממדים של הווקטורים המושווים, ושמרו טקסט ומדיה מקוריים בנפרד מהאינדקס המספרי. דמיון ההטמעה הוא אות לאחזור, ולא הסבר עובדתי לכך שמסמך עונה על שאלת המשתמש.</p><p>בקטלוג מעשי, הטמיעו תצלום מוצר יחד עם התיאור המאושר שלו כאשר יש לאחזר את השניים כאובייקט אחד. באוסף מסמכים, הטמיעו קטעים ממוקדים והשוו אותם לשאילתה המעוצבת לפי המטרה, ואז הציגו את קטעי המקור לצד תוצאת החיפוש. באודיו או בווידאו, בחרו את הקטע המתאר את האירוע שאפשר לחפש ושמרו את טווח הזמן המקורי שלו. התוצר השימושי הוא ייצוג מספרי המקושר לראיות מקור עבור שלב החיפוש או הניתוח הבא של היישום.</p>",
  "aboutText": "Gemini Embedding 2 הוא מודל ההטמעה הרב־מודלי של Google לייצוג מספרי של טקסט, תמונות, וידאו, אודיו ו־PDF. הוא ממפה את סוגי המדיה השונים למרחב משותף, כדי שיישום יוכל להשוות משמעות ביניהם. התוצאה היא וקטור של מספרים, שימושי לחיפוש סמנטי, לאחזור מסמכים, להמלצות, לסיווג או לקיבוץ לאשכולות; זו אינה תשובה כתובה או קובץ מדיה שנוצר בידי המודל. Google מתעדת כיסוי סמנטי ביותר מ־100 שפות.\n\nעבור בסיס ידע, צרו וקטורים לקטעי המקור, השוו אליהם את שאילתת המשתמש ואחזרו את החומר הרלוונטי. מודל טקסט נפרד יכול לאחר מכן לחבר תשובה באמצעות המקורות האלה. באוסף מדיה, תיאור טקסטואלי יכול לחפש תמונות או וידאו קשורים; תמונה יכולה גם היא לשמש כשאילתה. שמרו את החיבור של כל וקטור לתוכן המקורי, לרבות הפניה לעמוד או לקליפ, כדי שאפשר יהיה לבדוק את התוצאה שאוחזרה ולהציגה בהקשרה המקורי.\n\nמגבלת הקלט הכוללת היא 8192 טוקנים. מדריך המודל היציב מאפשר עד שש תמונות PNG או JPEG, עד 180 שניות של אודיו MP3 או WAV ועד 120 שניות של וידאו MP4 או MOV. קודקי הווידאו המתועדים הם H264, H265, AV1 ו־VP9. עיבוד הווידאו משתמש לכל היותר ב־32 פריימים: קליפים של עד 32 שניות נדגמים בפריים אחד לשנייה, ואילו קליפים ארוכים יותר נדגמים באופן אחיד ל־32 פריימים. רצועת האודיו של הסרטון אינה מעובדת בקלט הווידאו הזה; הטמיעו את הצליל שלו בנפרד כשהוא חשוב לאחזור.\n\nקלט PDF מקבל קובץ אחד עם לכל היותר שישה עמודים. Google ממליצה על עמוד אחד לכל PDF לקבלת האיכות הטובה ביותר. חלקו מקור גדול יותר לעמודים או לסעיפים בעלי משמעות ושמרו את הקשר שלהם למסמך המקורי. בחרו קטע המייצג את מה שצריך להיות ניתן לאחזור, במקום לשלב חומרים לא קשורים רק מפני שהם נכנסים למגבלה. גבול הטוקנים המשותף עדיין חל על בקשה המשלבת מדיה. כל עמוד PDF צורך 258 טוקנים חזותיים נוסף על טוקני הטקסט שחולץ ממנו. בתהליך המתועד של Google, תוכן החורג מהמגבלה המשותפת של 8192 טוקנים נקטע ללא שגיאה.\n\nמספר ממדי הפלט גמיש בין 128 ל־3072, עם ברירת מחדל של 3072 וגדלים מומלצים של 768, 1536 ו־3072. המודל משתמש ב־Matryoshka Representation Learning, כך שתחיליות הווקטור נשארות שימושיות במספר ממדים קטן יותר. המדריך שלו מתעד נרמול אוטומטי הן לווקטורים בגודל ברירת המחדל והן לווקטורים מקוצרים. בחרו מספר ממדים עקבי לרשומות ולשאילתות שהיישום משווה; הגודל המבוקש משנה את הייצוג המספרי, ולא את תוכן המקור עצמו.\n\nלמשימות טקסט בלבד, כללו את המטרה בטקסט במקום להשתמש בשדה הישן task_type. Google מבחינה בין אחזור אסימטרי להשוואה סימטרית. שאילתת חיפוש משתמשת ב־“task: search result | query: {content}”, ואילו מסמך מקור משתמש ב־“title: {title} | text: {content}”; השתמשו ב־“title: none” אם אין לו כותרת. למשימות מענה על שאלות, בדיקת עובדות ואחזור קוד יש תחיליות שאילתה משלהן. בסיווג, בקיבוץ לאשכולות או בדמיון בין משפטים, השתמשו באותו פורמט משימה בעקביות בשני הצדדים. המדריך ממליץ בדרך כלל שלא להוסיף תחילית משימה לחלק הטקסטואלי של ייצוג רב־מודלי משולב.\n\nמבנה הקלט קובע אם התוצאה מייצגת אובייקט משולב אחד או פריטים נפרדים. חלקים מרובים המסופקים יחד יוצרים הטמעה מאוגדת; אובייקטי Content נפרדים יוצרים הטמעות נפרדות לכל רשומה. עבור פוסט הכולל טקסט ותמונה, ייצוג משולב יכול ללכוד את הקשר ביניהם. רשומות שניתן לחפש בנפרד השאירו נפרדות. הבחירה הזו משפיעה על רמת הפירוט של האחזור: וקטור אחד לפוסט שלם שונה מווקטור לכל קטע או תמונה.\n\nהמדריך מציין שווקטורים מ־Gemini Embedding 001 ומ־Gemini Embedding 2 נמצאים במרחבים לא תואמים ואי אפשר להשוות ביניהם ישירות. אוסף המועבר מהמודל הישן זקוק להטמעה מחדש עבור המרחב החדש. שמרו על עקביות בבחירת המודל ובמספר הממדים של הווקטורים המושווים, ושמרו טקסט ומדיה מקוריים בנפרד מהאינדקס המספרי. דמיון ההטמעה הוא אות לאחזור, ולא הסבר עובדתי לכך שמסמך עונה על שאלת המשתמש.\n\nבקטלוג מעשי, הטמיעו תצלום מוצר יחד עם התיאור המאושר שלו כאשר יש לאחזר את השניים כאובייקט אחד. באוסף מסמכים, הטמיעו קטעים ממוקדים והשוו אותם לשאילתה המעוצבת לפי המטרה, ואז הציגו את קטעי המקור לצד תוצאת החיפוש. באודיו או בווידאו, בחרו את הקטע המתאר את האירוע שאפשר לחפש ושמרו את טווח הזמן המקורי שלו. התוצר השימושי הוא ייצוג מספרי המקושר לראיות מקור עבור שלב החיפוש או הניתוח הבא של היישום.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "278f437f802bef918d71f0a9c81d8d69198acb433bbc43e1e5d67ce1e659bf55",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "he",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Gemini Embedding 2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-embedding-2</code><button type=\"button\" id=\"copy-id\">העתקת ID</button></div><nav class=\"card-jump-nav\" aria-label=\"חלקי כרטיס המודל\"><button type=\"button\" data-card-jump=\"overview\">התחלה</button><button type=\"button\" data-card-jump=\"methods\">קלט ושיטות</button><button type=\"button\" data-card-jump=\"pricing\">תעריפים</button><button type=\"button\" data-card-jump=\"examples\">דוגמאות</button><button type=\"button\" data-card-jump=\"results\">תוצאות</button><button type=\"button\" data-card-jump=\"aliases\">כינויים</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"שיטות API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|google%2Fgemini-embedding-2\">ייצוגים וקטוריים</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">התחלה</h3><p class=\"mdesc-full\">Gemini Embedding 2 ממפה טקסט, תמונות, אודיו, וידאו ו־PDF למרחב מספרי משותף. הווקטורים שלו תומכים בחיפוש בין אופנויות, באחזור, בסיווג ובקיבוץ לאשכולות, עם מספר ממדים גמיש ומגבלת קלט של 8192 טוקנים.</p><dl class=\"card-io\" data-card-io><div><dt>סוגי קלט נתמכים</dt><dd>טקסט · token_ids</dd></div><div><dt>תוצאות</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>על המודל</summary><p class=\"note-s\" data-model-method-boundary>התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.</p><div class=\"mabout\" id=\"m-about\"><p>Gemini Embedding 2 הוא מודל ההטמעה הרב־מודלי של Google לייצוג מספרי של טקסט, תמונות, וידאו, אודיו ו־PDF. הוא ממפה את סוגי המדיה השונים למרחב משותף, כדי שיישום יוכל להשוות משמעות ביניהם. התוצאה היא וקטור של מספרים, שימושי לחיפוש סמנטי, לאחזור מסמכים, להמלצות, לסיווג או לקיבוץ לאשכולות; זו אינה תשובה כתובה או קובץ מדיה שנוצר בידי המודל. Google מתעדת כיסוי סמנטי ביותר מ־100 שפות.</p><p>עבור בסיס ידע, צרו וקטורים לקטעי המקור, השוו אליהם את שאילתת המשתמש ואחזרו את החומר הרלוונטי. מודל טקסט נפרד יכול לאחר מכן לחבר תשובה באמצעות המקורות האלה. באוסף מדיה, תיאור טקסטואלי יכול לחפש תמונות או וידאו קשורים; תמונה יכולה גם היא לשמש כשאילתה. שמרו את החיבור של כל וקטור לתוכן המקורי, לרבות הפניה לעמוד או לקליפ, כדי שאפשר יהיה לבדוק את התוצאה שאוחזרה ולהציגה בהקשרה המקורי.</p><p>מגבלת הקלט הכוללת היא 8192 טוקנים. מדריך המודל היציב מאפשר עד שש תמונות PNG או JPEG, עד 180 שניות של אודיו MP3 או WAV ועד 120 שניות של וידאו MP4 או MOV. קודקי הווידאו המתועדים הם H264, H265, AV1 ו־VP9. עיבוד הווידאו משתמש לכל היותר ב־32 פריימים: קליפים של עד 32 שניות נדגמים בפריים אחד לשנייה, ואילו קליפים ארוכים יותר נדגמים באופן אחיד ל־32 פריימים. רצועת האודיו של הסרטון אינה מעובדת בקלט הווידאו הזה; הטמיעו את הצליל שלו בנפרד כשהוא חשוב לאחזור.</p><p>קלט PDF מקבל קובץ אחד עם לכל היותר שישה עמודים. Google ממליצה על עמוד אחד לכל PDF לקבלת האיכות הטובה ביותר. חלקו מקור גדול יותר לעמודים או לסעיפים בעלי משמעות ושמרו את הקשר שלהם למסמך המקורי. בחרו קטע המייצג את מה שצריך להיות ניתן לאחזור, במקום לשלב חומרים לא קשורים רק מפני שהם נכנסים למגבלה. גבול הטוקנים המשותף עדיין חל על בקשה המשלבת מדיה. כל עמוד PDF צורך 258 טוקנים חזותיים נוסף על טוקני הטקסט שחולץ ממנו. בתהליך המתועד של Google, תוכן החורג מהמגבלה המשותפת של 8192 טוקנים נקטע ללא שגיאה.</p><p>מספר ממדי הפלט גמיש בין 128 ל־3072, עם ברירת מחדל של 3072 וגדלים מומלצים של 768, 1536 ו־3072. המודל משתמש ב־Matryoshka Representation Learning, כך שתחיליות הווקטור נשארות שימושיות במספר ממדים קטן יותר. המדריך שלו מתעד נרמול אוטומטי הן לווקטורים בגודל ברירת המחדל והן לווקטורים מקוצרים. בחרו מספר ממדים עקבי לרשומות ולשאילתות שהיישום משווה; הגודל המבוקש משנה את הייצוג המספרי, ולא את תוכן המקור עצמו.</p><p>למשימות טקסט בלבד, כללו את המטרה בטקסט במקום להשתמש בשדה הישן task_type. Google מבחינה בין אחזור אסימטרי להשוואה סימטרית. שאילתת חיפוש משתמשת ב־“task: search result | query: {content}”, ואילו מסמך מקור משתמש ב־“title: {title} | text: {content}”; השתמשו ב־“title: none” אם אין לו כותרת. למשימות מענה על שאלות, בדיקת עובדות ואחזור קוד יש תחיליות שאילתה משלהן. בסיווג, בקיבוץ לאשכולות או בדמיון בין משפטים, השתמשו באותו פורמט משימה בעקביות בשני הצדדים. המדריך ממליץ בדרך כלל שלא להוסיף תחילית משימה לחלק הטקסטואלי של ייצוג רב־מודלי משולב.</p><p>מבנה הקלט קובע אם התוצאה מייצגת אובייקט משולב אחד או פריטים נפרדים. חלקים מרובים המסופקים יחד יוצרים הטמעה מאוגדת; אובייקטי Content נפרדים יוצרים הטמעות נפרדות לכל רשומה. עבור פוסט הכולל טקסט ותמונה, ייצוג משולב יכול ללכוד את הקשר ביניהם. רשומות שניתן לחפש בנפרד השאירו נפרדות. הבחירה הזו משפיעה על רמת הפירוט של האחזור: וקטור אחד לפוסט שלם שונה מווקטור לכל קטע או תמונה.</p><p>המדריך מציין שווקטורים מ־Gemini Embedding 001 ומ־Gemini Embedding 2 נמצאים במרחבים לא תואמים ואי אפשר להשוות ביניהם ישירות. אוסף המועבר מהמודל הישן זקוק להטמעה מחדש עבור המרחב החדש. שמרו על עקביות בבחירת המודל ובמספר הממדים של הווקטורים המושווים, ושמרו טקסט ומדיה מקוריים בנפרד מהאינדקס המספרי. דמיון ההטמעה הוא אות לאחזור, ולא הסבר עובדתי לכך שמסמך עונה על שאלת המשתמש.</p><p>בקטלוג מעשי, הטמיעו תצלום מוצר יחד עם התיאור המאושר שלו כאשר יש לאחזר את השניים כאובייקט אחד. באוסף מסמכים, הטמיעו קטעים ממוקדים והשוו אותם לשאילתה המעוצבת לפי המטרה, ואז הציגו את קטעי המקור לצד תוצאת החיפוש. באודיו או בווידאו, בחרו את הקטע המתאר את האירוע שאפשר לחפש ושמרו את טווח הזמן המקורי שלו. התוצר השימושי הוא ייצוג מספרי המקושר לראיות מקור עבור שלב החיפוש או הניתוח הבא של היישום.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · ייצוגים וקטוריים</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>סוגי פלט</dt><dd><code>embedding</code></dd></div><div><dt>הקשר</dt><dd>⁦8,192⁩ tokens</dd></div><div><dt>פורמט פלט</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>שדה</th><th>סוג</th><th>דרישה</th><th>ערכים ומגבלות</th><th>ברירת מחדל</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>google/gemini-embedding-2</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מספר פריטים מזערי: ⁦1⁩</div><div>תנאים: אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים.</div><div>תקציב קלט: מקסימום: ⁦8,192⁩ · יחידת טקסט: בתים בקידוד UTF8 · יחידת טוקנים: רכיבים במערך טוקנים</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>float</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>integer</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>לא נתמך</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מינימום: ⁦1⁩</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>json_value</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>json_value</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>json_value</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>object</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: provider.options נדחה</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>פרמטרים ומחזור חיים של השיטה</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>פרמטר</th><th>מפרט</th></tr></thead><tbody><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>content_type</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>application/json</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>required</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>model, input</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>input_shapes</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>encoding_format</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>float</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>dimensions_override</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>false</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>max_input_budget_units</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>8192</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>multimodal_objects</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>false</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>material_types</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text, token_ids</td></tr></tbody></table></div><p>מחזור חיים: <code>synchronous_json</code></p><p class=\"note-s\">שמרו כל אינדקס וקטור וממד.</p><p class=\"note-s\">שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.</p><dl data-price-conditions><dt>מצב מהיר</dt><dd>תעריף רגיל <span class=\"note-s\">כאשר נבחר מצב מהיר</span></dd><dt>מצב Flex</dt><dd>תעריף רגיל <span class=\"note-s\">כאשר נבחר מצב flex</span></dd><dt>מאמץ חשיבה מרבי</dt><dd>תעריף רגיל <span class=\"note-s\">כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>תעריפי Ailoot</h4><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>טבלת תעריפים</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>תעריפי הבסיס לטוקנים</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>תעריף בסיס</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · טוקני קלט</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>פלט · טוקני פלט</span> <b>$0</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · קריאה מהמטמון</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון, 1 שעה</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. <a href=\"/docs/he/billing/reserve/\">איך פועלים שריון הסכום והסדרת החיוב →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">דוגמאות לבקשות</h3><h4>Ailoot Ultra · ייצוגים וקטוריים</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-1487-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1487-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1487-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1487-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"העתקת הקוד\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1487-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1487-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/gemini-embedding-2&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1487-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1487-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;google/gemini-embedding-2&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot Ultra · ייצוגים וקטוריים</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.</p><p class=\"note-s\">שמרו כל וקטור עם האינדקס שלו. מספר הווקטורים חייב להיות שווה למספר פריטי הקלט; מספר הממדים חייב להיות עקבי.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">לא מתווספת נקודת קצה למשימות הטמעה.</p></div><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>finite float[]</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>שגיאות והשלבים הבאים</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>תגובה</th><th>תנאי</th><th>השלב הבא</th></tr></thead><tbody><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>תקנו את השדות שצוינו לפני בקשת יצירה חדשה.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">כינויים</h3><h4>כינויים למודל</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fgemini-embedding-2&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2&amp;fmt=embeddings\"><code>google/gemini-embedding-2</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\">השתמשו בנתיבי השיטות המוצגים למעלה.</p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-embedding-2&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2&amp;fmt=embeddings\"><code>google/gemini-embedding-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-embedding-2",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|google%2Fgemini-embedding-2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "לא מתווספת נקודת קצה למשימות הטמעה."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "שמרו כל וקטור עם האינדקס שלו. מספר הווקטורים חייב להיות שווה למספר פריטי הקלט; מספר הממדים חייב להיות עקבי.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "בתים בקידוד UTF8",
                  "token_unit": "רכיבים במערך טוקנים"
                },
                "conditions": "אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options נדחה",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "שמרו כל אינדקס וקטור וממד.",
            "שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "תעריפי הבסיס לטוקנים",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemini-embedding-2\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='google/gemini-embedding-2',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "מצב מהיר",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב מהיר"
          },
          {
            "label": "מצב Flex",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב flex"
          },
          {
            "label": "מאמץ חשיבה מרבי",
            "value": "תעריף רגיל",
            "when": "כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-embedding-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "38981ee2f6147f49a2e10bd03e5b96d30cfbf7c064d22eabab730a8b9eb43b68",
    "input_html_sha256": "40afae3831a293f78add99e83574a19036f77c626704fb5ce5d323dcbb11b577",
    "private_audit_sha256": "0743be2dcf8b69c9966d2d782100d87e507534311a9c2fdda072a540a26e8e6c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/google-gemini-embedding-2/",
    "description": "Gemini Embedding 2 ממפה טקסט, תמונות, אודיו, וידאו ו־PDF למרחב מספרי משותף. הווקטורים שלו תומכים בחיפוש בין אופנויות, באחזור, בסיווג ובקיבוץ לאשכולות, עם מספר ממדים גמיש ומגבלת קלט של 8192 טוקנים.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/google-gemini-embedding-2/index.md",
    "title": "Google: Gemini Embedding 2 — Ailoot",
    "url": "https://ailoot.ai/models/he/google-gemini-embedding-2/"
  },
  "rawModel": {
    "about": "Gemini Embedding 2 הוא מודל ההטמעה הרב־מודלי של Google לייצוג מספרי של טקסט, תמונות, וידאו, אודיו ו־PDF. הוא ממפה את סוגי המדיה השונים למרחב משותף, כדי שיישום יוכל להשוות משמעות ביניהם. התוצאה היא וקטור של מספרים, שימושי לחיפוש סמנטי, לאחזור מסמכים, להמלצות, לסיווג או לקיבוץ לאשכולות; זו אינה תשובה כתובה או קובץ מדיה שנוצר בידי המודל. Google מתעדת כיסוי סמנטי ביותר מ־100 שפות.\n\nעבור בסיס ידע, צרו וקטורים לקטעי המקור, השוו אליהם את שאילתת המשתמש ואחזרו את החומר הרלוונטי. מודל טקסט נפרד יכול לאחר מכן לחבר תשובה באמצעות המקורות האלה. באוסף מדיה, תיאור טקסטואלי יכול לחפש תמונות או וידאו קשורים; תמונה יכולה גם היא לשמש כשאילתה. שמרו את החיבור של כל וקטור לתוכן המקורי, לרבות הפניה לעמוד או לקליפ, כדי שאפשר יהיה לבדוק את התוצאה שאוחזרה ולהציגה בהקשרה המקורי.\n\nמגבלת הקלט הכוללת היא 8192 טוקנים. מדריך המודל היציב מאפשר עד שש תמונות PNG או JPEG, עד 180 שניות של אודיו MP3 או WAV ועד 120 שניות של וידאו MP4 או MOV. קודקי הווידאו המתועדים הם H264, H265, AV1 ו־VP9. עיבוד הווידאו משתמש לכל היותר ב־32 פריימים: קליפים של עד 32 שניות נדגמים בפריים אחד לשנייה, ואילו קליפים ארוכים יותר נדגמים באופן אחיד ל־32 פריימים. רצועת האודיו של הסרטון אינה מעובדת בקלט הווידאו הזה; הטמיעו את הצליל שלו בנפרד כשהוא חשוב לאחזור.\n\nקלט PDF מקבל קובץ אחד עם לכל היותר שישה עמודים. Google ממליצה על עמוד אחד לכל PDF לקבלת האיכות הטובה ביותר. חלקו מקור גדול יותר לעמודים או לסעיפים בעלי משמעות ושמרו את הקשר שלהם למסמך המקורי. בחרו קטע המייצג את מה שצריך להיות ניתן לאחזור, במקום לשלב חומרים לא קשורים רק מפני שהם נכנסים למגבלה. גבול הטוקנים המשותף עדיין חל על בקשה המשלבת מדיה. כל עמוד PDF צורך 258 טוקנים חזותיים נוסף על טוקני הטקסט שחולץ ממנו. בתהליך המתועד של Google, תוכן החורג מהמגבלה המשותפת של 8192 טוקנים נקטע ללא שגיאה.\n\nמספר ממדי הפלט גמיש בין 128 ל־3072, עם ברירת מחדל של 3072 וגדלים מומלצים של 768, 1536 ו־3072. המודל משתמש ב־Matryoshka Representation Learning, כך שתחיליות הווקטור נשארות שימושיות במספר ממדים קטן יותר. המדריך שלו מתעד נרמול אוטומטי הן לווקטורים בגודל ברירת המחדל והן לווקטורים מקוצרים. בחרו מספר ממדים עקבי לרשומות ולשאילתות שהיישום משווה; הגודל המבוקש משנה את הייצוג המספרי, ולא את תוכן המקור עצמו.\n\nלמשימות טקסט בלבד, כללו את המטרה בטקסט במקום להשתמש בשדה הישן task_type. Google מבחינה בין אחזור אסימטרי להשוואה סימטרית. שאילתת חיפוש משתמשת ב־“task: search result | query: {content}”, ואילו מסמך מקור משתמש ב־“title: {title} | text: {content}”; השתמשו ב־“title: none” אם אין לו כותרת. למשימות מענה על שאלות, בדיקת עובדות ואחזור קוד יש תחיליות שאילתה משלהן. בסיווג, בקיבוץ לאשכולות או בדמיון בין משפטים, השתמשו באותו פורמט משימה בעקביות בשני הצדדים. המדריך ממליץ בדרך כלל שלא להוסיף תחילית משימה לחלק הטקסטואלי של ייצוג רב־מודלי משולב.\n\nמבנה הקלט קובע אם התוצאה מייצגת אובייקט משולב אחד או פריטים נפרדים. חלקים מרובים המסופקים יחד יוצרים הטמעה מאוגדת; אובייקטי Content נפרדים יוצרים הטמעות נפרדות לכל רשומה. עבור פוסט הכולל טקסט ותמונה, ייצוג משולב יכול ללכוד את הקשר ביניהם. רשומות שניתן לחפש בנפרד השאירו נפרדות. הבחירה הזו משפיעה על רמת הפירוט של האחזור: וקטור אחד לפוסט שלם שונה מווקטור לכל קטע או תמונה.\n\nהמדריך מציין שווקטורים מ־Gemini Embedding 001 ומ־Gemini Embedding 2 נמצאים במרחבים לא תואמים ואי אפשר להשוות ביניהם ישירות. אוסף המועבר מהמודל הישן זקוק להטמעה מחדש עבור המרחב החדש. שמרו על עקביות בבחירת המודל ובמספר הממדים של הווקטורים המושווים, ושמרו טקסט ומדיה מקוריים בנפרד מהאינדקס המספרי. דמיון ההטמעה הוא אות לאחזור, ולא הסבר עובדתי לכך שמסמך עונה על שאלת המשתמש.\n\nבקטלוג מעשי, הטמיעו תצלום מוצר יחד עם התיאור המאושר שלו כאשר יש לאחזר את השניים כאובייקט אחד. באוסף מסמכים, הטמיעו קטעים ממוקדים והשוו אותם לשאילתה המעוצבת לפי המטרה, ואז הציגו את קטעי המקור לצד תוצאת החיפוש. באודיו או בווידאו, בחרו את הקטע המתאר את האירוע שאפשר לחפש ושמרו את טווח הזמן המקורי שלו. התוצר השימושי הוא ייצוג מספרי המקושר לראיות מקור עבור שלב החיפוש או הניתוח הבא של היישום.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "available": null,
    "canonical_model": "google/gemini-embedding-2",
    "capabilities": {
      "context_length": 8192,
      "manufacturer_input": [
        "text",
        "image",
        "file",
        "audio",
        "video"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": 8192,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "google/gemini-embedding-2",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "לא מתווספת נקודת קצה למשימות הטמעה."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "שמרו כל וקטור עם האינדקס שלו. מספר הווקטורים חייב להיות שווה למספר פריטי הקלט; מספר הממדים חייב להיות עקבי.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "בתים בקידוד UTF8",
                  "token_unit": "רכיבים במערך טוקנים"
                },
                "conditions": "אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options נדחה",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "שמרו כל אינדקס וקטור וממד.",
            "שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "תעריפי הבסיס לטוקנים",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemini-embedding-2\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='google/gemini-embedding-2',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "מצב מהיר",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב מהיר"
          },
          {
            "label": "מצב Flex",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב flex"
          },
          {
            "label": "מאמץ חשיבה מרבי",
            "value": "תעריף רגיל",
            "when": "כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-embedding-2",
        "request_model_id": "google/gemini-embedding-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini Embedding 2",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "google/gemini-embedding-2",
    "short": "Gemini Embedding 2 ממפה טקסט, תמונות, אודיו, וידאו ו־PDF למרחב מספרי משותף. הווקטורים שלו תומכים בחיפוש בין אופנויות, באחזור, בסיווג ובקיבוץ לאשכולות, עם מספר ממדים גמיש ומגבלת קלט של 8192 טוקנים."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Gemini Embedding 2 ממפה טקסט, תמונות, אודיו, וידאו ו־PDF למרחב מספרי משותף. הווקטורים שלו תומכים בחיפוש בין אופנויות, באחזור, בסיווג ובקיבוץ לאשכולות, עם מספר ממדים גמיש ומגבלת קלט של 8192 טוקנים.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b56323f06bfa2bdb75adcb2c375985733d95a70558c3b2786a7d78284a342160",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "819e7f9cbb357b591428afb49a89c11231655abe61a36c0251d52b7fadb68cc3"
}
