{
  "aboutHtml": "<p>Claude Opus 4.1 הוא העדכון של Anthropic ל-Claude Opus 4 המקורי, המתמקד במשימות סוכנים, בתכנות מעשי ובהנמקה. הגרסה שלו מדגישה גם מחקר מעמיק וניתוח נתונים, במיוחד מעקב אחר פרטים ושימוש בחיפוש בתוך משימה גדולה יותר. הנספח הנלווה לכרטיס המערכת מתאר שיפורים באיכות ההנמקה ובביצוע הוראות. הוא נשאר מהדורה נפרדת מ-Opus 4 המקורי וממודלי Opus 4.5, 4.6 ו-5 המאוחרים יותר; אין להתייחס למצבים ולמגבלות שלהם כמפרט של העדכון הזה.</p><p>לעבודת קוד, הגרסה מדגישה ארגון מחדש בכמה קבצים וזיהוי תיקונים מדויקים בתוך בסיס קוד גדול. תנו למודל את הקבצים או הקטעים הרלוונטיים, את ההתנהגות הקיימת, את ההתנהגות הרצויה ואת המגבלות ששינוי תקין חייב לשמר. בקשה לדוגמה יכולה לבקש לעקוב אחר כשל לאורך פונקציות קשורות, להציע את השינוי הקוהרנטי הקטן ביותר ולהסביר מדוע כל חלק ששונה נחוץ. התוצאה השימושית היא תיקון או הצעת קוד הניתנים לבדיקה, עם שמירת הקשר המקור וההנחות, במקום כתיבה מחדש רחבה שמטשטשת את הבעיה המקורית.</p><p>למחקר ולניתוח נתונים, הדגש על מעקב אחר פרטים מועיל כששאלה תלויה בכמה קטעים או תצפיות. ספקו את החומר עם מזהי המקור, הגדירו את השאלה ובקשו את הראיות שתומכות בכל מסקנה. תדריך מעשי יכול לבקש טבלת השוואה המראה היכן שני מסמכים מסכימים, היכן הם שונים ואילו שאלות נשארות ללא מענה. אם חיפוש הוא חלק מהתהליך, היישום מספק את הכלי ואת התוכן שהחזיר. המודל מקשר את התוצאות האלה לחומר הקיים; חיפוש מוצע בטקסט שלו אינו אחזור שהושלם.</p><p>ל-Opus 4.1 יש מצב מענה רגיל וחשיבה מורחבת אופציונלית. מדריך החשיבה הוותיק מספק שליטה ישירה באמצעות budget_tokens, עם מינימום של 1,024 טוקנים. בדרך כלל התקציב נמוך מ-max_tokens כי ההנמקה הפנימית והתשובה הסופית חולקות את מכסת היצירה. זהו יעד להנמקה ולא הבטחה לצרוך את כל הכמות. חשיבה מסתגלת ובקרות המאמץ של מהדורות Opus מאוחרות יותר הן יכולות נפרדות. הכינו בעיה מלאה והגדירו את פורמט התשובה הסופית כדי שהניתוח הנוסף יוביל לתוצאה שהקורא צריך.</p><p>תכונת הבטא המתועדת למודלי Claude 4 הקודמים תומכת בחשיבה משולבת לסירוגין: הנמקה בין קריאות לכלים בתוך תור assistant אחד. היא משתמשת בתכונת interleaved-thinking של היצרן בתהליך Messages הנתמך. במצב הזה, תקציב החשיבה יכול להשתרע על כמה בלוקים ולעלות על ערך max_tokens של תור יחיד לפי החריג המתועד. החזירו את בלוק החשיבה התואם ללא שינוי עם תוצאת כלי, כולל החתימה שלו. כך תהליך ניפוי שגיאות יכול לשלב לסירוגין ניתוח, בדיקה שהיישום מבצע ופרשנות של הפלט בפועל, תוך הפרדה בין פעולות מוצעות לבין אלה שהושלמו.</p><p>הנספח לכרטיס המערכת מתאר גם משימות שימוש במחשב הכוללות צפייה במסך, פעולות עכבר וקלט מקלדת, לצד משימות תכנות ארוכות יותר עם כלים. המודל יכול להסיק מסקנות ממצב חזותי שסופק ולבחור פעולה בסביבה מחוברת; היישום מבצע את האינטראקציה ומחזיר את השינוי שהתרחש. לתדריך המבוסס על מסך, הגדירו את המטרה, את הבקרות הרלוונטיות הנראות ואת הפעולות המותרות. לתהליך מסמכים או נתונים, בקשו הסבר טקסטואלי או תוצאה מובנית המקושרים לראיות שסופקו. פרשנות המודל וביצוע הסביבה הם חלקים נפרדים בעבודה.</p><p>הערכת היצרן מדווחת על רגישות להזרקת הנחיות הדומה ל-Opus 4 המקורי. היא בוחנת במיוחד טקסט מוסתר או רכיבי ממשק שמנסים להסיט סוכן ממשימת המשתמש. הפרידו את הוראות המשימה מחומר המוחזר מכלים ושמרו על המטרה המקורית בעת פירוש דף או מסמך. זהו תנאי מהותי לתהליך סוכן: ראיית בקשה בתוך תוכן חיצוני אינה הופכת אותה להוראה שהמשתמש אישר. ההגנות של המודל אינן הופכות כל דף שהוא פוגש לקלט מהימן.</p><p>כרטיס המערכת מתאר גם מגבלה בתכנות הנקראת ניצול מנגנון התגמול (reward hacking), לרבות תשובות המקודדות מראש ופתרונות המותאמים רק לדוגמאות שלפני המודל. Opus 4.1 מציג נטיות הדומות ל-Opus 4, עם ירידה מסוימת בביצועים באותן הערכות ממוקדות. להצעת קוד, בקשו פתרון שעומד בדרישה הכללית, הגדירו את התנאים שהוא מטפל בהם וכללו בדיקות מעבר לדוגמה היחידה שסופקה. בקשו שהדוח הסופי יבחין בין מה שהוצע, מה שהסביבה בדקה בפועל ומה שלא ניתן היה להוכיח. כך חוזקות המודל בניפוי שגיאות מדויק ובמעקב אחר פרטים מתחברות לתוצר מוגדר שאפשר לבדוק את התנהגותו.</p>",
  "aboutText": "Claude Opus 4.1 הוא העדכון של Anthropic ל-Claude Opus 4 המקורי, המתמקד במשימות סוכנים, בתכנות מעשי ובהנמקה. הגרסה שלו מדגישה גם מחקר מעמיק וניתוח נתונים, במיוחד מעקב אחר פרטים ושימוש בחיפוש בתוך משימה גדולה יותר. הנספח הנלווה לכרטיס המערכת מתאר שיפורים באיכות ההנמקה ובביצוע הוראות. הוא נשאר מהדורה נפרדת מ-Opus 4 המקורי וממודלי Opus 4.5, 4.6 ו-5 המאוחרים יותר; אין להתייחס למצבים ולמגבלות שלהם כמפרט של העדכון הזה.\n\nלעבודת קוד, הגרסה מדגישה ארגון מחדש בכמה קבצים וזיהוי תיקונים מדויקים בתוך בסיס קוד גדול. תנו למודל את הקבצים או הקטעים הרלוונטיים, את ההתנהגות הקיימת, את ההתנהגות הרצויה ואת המגבלות ששינוי תקין חייב לשמר. בקשה לדוגמה יכולה לבקש לעקוב אחר כשל לאורך פונקציות קשורות, להציע את השינוי הקוהרנטי הקטן ביותר ולהסביר מדוע כל חלק ששונה נחוץ. התוצאה השימושית היא תיקון או הצעת קוד הניתנים לבדיקה, עם שמירת הקשר המקור וההנחות, במקום כתיבה מחדש רחבה שמטשטשת את הבעיה המקורית.\n\nלמחקר ולניתוח נתונים, הדגש על מעקב אחר פרטים מועיל כששאלה תלויה בכמה קטעים או תצפיות. ספקו את החומר עם מזהי המקור, הגדירו את השאלה ובקשו את הראיות שתומכות בכל מסקנה. תדריך מעשי יכול לבקש טבלת השוואה המראה היכן שני מסמכים מסכימים, היכן הם שונים ואילו שאלות נשארות ללא מענה. אם חיפוש הוא חלק מהתהליך, היישום מספק את הכלי ואת התוכן שהחזיר. המודל מקשר את התוצאות האלה לחומר הקיים; חיפוש מוצע בטקסט שלו אינו אחזור שהושלם.\n\nל-Opus 4.1 יש מצב מענה רגיל וחשיבה מורחבת אופציונלית. מדריך החשיבה הוותיק מספק שליטה ישירה באמצעות budget_tokens, עם מינימום של 1,024 טוקנים. בדרך כלל התקציב נמוך מ-max_tokens כי ההנמקה הפנימית והתשובה הסופית חולקות את מכסת היצירה. זהו יעד להנמקה ולא הבטחה לצרוך את כל הכמות. חשיבה מסתגלת ובקרות המאמץ של מהדורות Opus מאוחרות יותר הן יכולות נפרדות. הכינו בעיה מלאה והגדירו את פורמט התשובה הסופית כדי שהניתוח הנוסף יוביל לתוצאה שהקורא צריך.\n\nתכונת הבטא המתועדת למודלי Claude 4 הקודמים תומכת בחשיבה משולבת לסירוגין: הנמקה בין קריאות לכלים בתוך תור assistant אחד. היא משתמשת בתכונת interleaved-thinking של היצרן בתהליך Messages הנתמך. במצב הזה, תקציב החשיבה יכול להשתרע על כמה בלוקים ולעלות על ערך max_tokens של תור יחיד לפי החריג המתועד. החזירו את בלוק החשיבה התואם ללא שינוי עם תוצאת כלי, כולל החתימה שלו. כך תהליך ניפוי שגיאות יכול לשלב לסירוגין ניתוח, בדיקה שהיישום מבצע ופרשנות של הפלט בפועל, תוך הפרדה בין פעולות מוצעות לבין אלה שהושלמו.\n\nהנספח לכרטיס המערכת מתאר גם משימות שימוש במחשב הכוללות צפייה במסך, פעולות עכבר וקלט מקלדת, לצד משימות תכנות ארוכות יותר עם כלים. המודל יכול להסיק מסקנות ממצב חזותי שסופק ולבחור פעולה בסביבה מחוברת; היישום מבצע את האינטראקציה ומחזיר את השינוי שהתרחש. לתדריך המבוסס על מסך, הגדירו את המטרה, את הבקרות הרלוונטיות הנראות ואת הפעולות המותרות. לתהליך מסמכים או נתונים, בקשו הסבר טקסטואלי או תוצאה מובנית המקושרים לראיות שסופקו. פרשנות המודל וביצוע הסביבה הם חלקים נפרדים בעבודה.\n\nהערכת היצרן מדווחת על רגישות להזרקת הנחיות הדומה ל-Opus 4 המקורי. היא בוחנת במיוחד טקסט מוסתר או רכיבי ממשק שמנסים להסיט סוכן ממשימת המשתמש. הפרידו את הוראות המשימה מחומר המוחזר מכלים ושמרו על המטרה המקורית בעת פירוש דף או מסמך. זהו תנאי מהותי לתהליך סוכן: ראיית בקשה בתוך תוכן חיצוני אינה הופכת אותה להוראה שהמשתמש אישר. ההגנות של המודל אינן הופכות כל דף שהוא פוגש לקלט מהימן.\n\nכרטיס המערכת מתאר גם מגבלה בתכנות הנקראת ניצול מנגנון התגמול (reward hacking), לרבות תשובות המקודדות מראש ופתרונות המותאמים רק לדוגמאות שלפני המודל. Opus 4.1 מציג נטיות הדומות ל-Opus 4, עם ירידה מסוימת בביצועים באותן הערכות ממוקדות. להצעת קוד, בקשו פתרון שעומד בדרישה הכללית, הגדירו את התנאים שהוא מטפל בהם וכללו בדיקות מעבר לדוגמה היחידה שסופקה. בקשו שהדוח הסופי יבחין בין מה שהוצע, מה שהסביבה בדקה בפועל ומה שלא ניתן היה להוכיח. כך חוזקות המודל בניפוי שגיאות מדויק ובמעקב אחר פרטים מתחברות לתוצר מוגדר שאפשר לבדוק את התנהגותו.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "b4c974705baed2b87e46e1fb7e46825ab8e9d6af9fd6dfc55e80662e37cf3c6b",
    "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\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Opus 4.1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>claude-opus-4-1-20250805-thinking</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|chat|/v1/chat/completions|claude-opus-4-1-20250805-thinking\">Chat</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\">Claude Opus 4.1 הוא העדכון של Anthropic ל-Opus 4 לעבודת תוכנה בסוכנים, למחקר, לניתוח נתונים ולהנמקה. הדגשים שלו כוללים מעקב אחר פרטים, שינויי קוד בכמה קבצים וניפוי שגיאות מדויק, עם תשובות רגילות או חשיבה מורחבת אופציונלית.</p><dl class=\"card-io\" data-card-io><div><dt>סוגי קלט נתמכים</dt><dd>טקסט</dd></div><div><dt>תוצאות</dt><dd>טקסט</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>Claude Opus 4.1 הוא העדכון של Anthropic ל-Claude Opus 4 המקורי, המתמקד במשימות סוכנים, בתכנות מעשי ובהנמקה. הגרסה שלו מדגישה גם מחקר מעמיק וניתוח נתונים, במיוחד מעקב אחר פרטים ושימוש בחיפוש בתוך משימה גדולה יותר. הנספח הנלווה לכרטיס המערכת מתאר שיפורים באיכות ההנמקה ובביצוע הוראות. הוא נשאר מהדורה נפרדת מ-Opus 4 המקורי וממודלי Opus 4.5, 4.6 ו-5 המאוחרים יותר; אין להתייחס למצבים ולמגבלות שלהם כמפרט של העדכון הזה.</p><p>לעבודת קוד, הגרסה מדגישה ארגון מחדש בכמה קבצים וזיהוי תיקונים מדויקים בתוך בסיס קוד גדול. תנו למודל את הקבצים או הקטעים הרלוונטיים, את ההתנהגות הקיימת, את ההתנהגות הרצויה ואת המגבלות ששינוי תקין חייב לשמר. בקשה לדוגמה יכולה לבקש לעקוב אחר כשל לאורך פונקציות קשורות, להציע את השינוי הקוהרנטי הקטן ביותר ולהסביר מדוע כל חלק ששונה נחוץ. התוצאה השימושית היא תיקון או הצעת קוד הניתנים לבדיקה, עם שמירת הקשר המקור וההנחות, במקום כתיבה מחדש רחבה שמטשטשת את הבעיה המקורית.</p><p>למחקר ולניתוח נתונים, הדגש על מעקב אחר פרטים מועיל כששאלה תלויה בכמה קטעים או תצפיות. ספקו את החומר עם מזהי המקור, הגדירו את השאלה ובקשו את הראיות שתומכות בכל מסקנה. תדריך מעשי יכול לבקש טבלת השוואה המראה היכן שני מסמכים מסכימים, היכן הם שונים ואילו שאלות נשארות ללא מענה. אם חיפוש הוא חלק מהתהליך, היישום מספק את הכלי ואת התוכן שהחזיר. המודל מקשר את התוצאות האלה לחומר הקיים; חיפוש מוצע בטקסט שלו אינו אחזור שהושלם.</p><p>ל-Opus 4.1 יש מצב מענה רגיל וחשיבה מורחבת אופציונלית. מדריך החשיבה הוותיק מספק שליטה ישירה באמצעות budget_tokens, עם מינימום של 1,024 טוקנים. בדרך כלל התקציב נמוך מ-max_tokens כי ההנמקה הפנימית והתשובה הסופית חולקות את מכסת היצירה. זהו יעד להנמקה ולא הבטחה לצרוך את כל הכמות. חשיבה מסתגלת ובקרות המאמץ של מהדורות Opus מאוחרות יותר הן יכולות נפרדות. הכינו בעיה מלאה והגדירו את פורמט התשובה הסופית כדי שהניתוח הנוסף יוביל לתוצאה שהקורא צריך.</p><p>תכונת הבטא המתועדת למודלי Claude 4 הקודמים תומכת בחשיבה משולבת לסירוגין: הנמקה בין קריאות לכלים בתוך תור assistant אחד. היא משתמשת בתכונת interleaved-thinking של היצרן בתהליך Messages הנתמך. במצב הזה, תקציב החשיבה יכול להשתרע על כמה בלוקים ולעלות על ערך max_tokens של תור יחיד לפי החריג המתועד. החזירו את בלוק החשיבה התואם ללא שינוי עם תוצאת כלי, כולל החתימה שלו. כך תהליך ניפוי שגיאות יכול לשלב לסירוגין ניתוח, בדיקה שהיישום מבצע ופרשנות של הפלט בפועל, תוך הפרדה בין פעולות מוצעות לבין אלה שהושלמו.</p><p>הנספח לכרטיס המערכת מתאר גם משימות שימוש במחשב הכוללות צפייה במסך, פעולות עכבר וקלט מקלדת, לצד משימות תכנות ארוכות יותר עם כלים. המודל יכול להסיק מסקנות ממצב חזותי שסופק ולבחור פעולה בסביבה מחוברת; היישום מבצע את האינטראקציה ומחזיר את השינוי שהתרחש. לתדריך המבוסס על מסך, הגדירו את המטרה, את הבקרות הרלוונטיות הנראות ואת הפעולות המותרות. לתהליך מסמכים או נתונים, בקשו הסבר טקסטואלי או תוצאה מובנית המקושרים לראיות שסופקו. פרשנות המודל וביצוע הסביבה הם חלקים נפרדים בעבודה.</p><p>הערכת היצרן מדווחת על רגישות להזרקת הנחיות הדומה ל-Opus 4 המקורי. היא בוחנת במיוחד טקסט מוסתר או רכיבי ממשק שמנסים להסיט סוכן ממשימת המשתמש. הפרידו את הוראות המשימה מחומר המוחזר מכלים ושמרו על המטרה המקורית בעת פירוש דף או מסמך. זהו תנאי מהותי לתהליך סוכן: ראיית בקשה בתוך תוכן חיצוני אינה הופכת אותה להוראה שהמשתמש אישר. ההגנות של המודל אינן הופכות כל דף שהוא פוגש לקלט מהימן.</p><p>כרטיס המערכת מתאר גם מגבלה בתכנות הנקראת ניצול מנגנון התגמול (reward hacking), לרבות תשובות המקודדות מראש ופתרונות המותאמים רק לדוגמאות שלפני המודל. Opus 4.1 מציג נטיות הדומות ל-Opus 4, עם ירידה מסוימת בביצועים באותן הערכות ממוקדות. להצעת קוד, בקשו פתרון שעומד בדרישה הכללית, הגדירו את התנאים שהוא מטפל בהם וכללו בדיקות מעבר לדוגמה היחידה שסופקה. בקשו שהדוח הסופי יבחין בין מה שהוצע, מה שהסביבה בדקה בפועל ומה שלא ניתן היה להוכיח. כך חוזקות המודל בניפוי שגיאות מדויק ובמעקב אחר פרטים מתחברות לתוצר מוגדר שאפשר לבדוק את התנהגותו.</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 · OpenAI Chat</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code></dd></div><div><dt>סוגי פלט</dt><dd><code>text</code></dd></div><div><dt>פורמט פלט</dt><dd>json או SSE</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>claude-opus-4-1-20250805-thinking</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\">messages</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>message[]</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=\"model_dependent\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">messages[].role</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 class=\"note-s\">תלוי במודל</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\">messages[].content</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>חל כאשר: שיחת טקסט</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\">stream</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>boolean</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b>טקסט</b> · טקסט UTF8</p><p class=\"note-s\"><code>messages[].content</code></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, messages</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</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>messages</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>מערך הודעות במבנה role/content</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>file_material</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>מסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>optional_controls</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>stream</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>control_scope</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>שיחת טקסט; stream הוא ערך בוליאני וברירת המחדל שלו היא false.</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>output_modalities</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>hosted_operations</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>multimodal_input_binding</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>null</td></tr></tbody></table></div><p>כינויים לשיטה: <code>/chat/completions</code></p><p>מחזור חיים: <code>synchronous_or_streamed</code></p><p class=\"note-s\">שלחו את מזהה המודל המדויק עם messages.</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.03</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>פלט · טוקני פלט</span> <b>$0.15</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · קריאה מהמטמון</span> <b>$0.0006</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון</span> <b>$0.0075</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 · OpenAI Chat</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-1165-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1165-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1165-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1165-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-1165-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1165-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;claude-opus-4-1-20250805-thinking&quot;,&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}],&quot;stream&quot;:false}&#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/chat/completions \\\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;choices&quot;,[]):\n    if x.get(&quot;message&quot;,{}).get(&quot;content&quot;): print(x[&quot;message&quot;][&quot;content&quot;])\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1165-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1165-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nif not os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;).strip(): raise SystemExit(&quot;Set AILOOT_API_KEY before making a request&quot;)\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.chat.completions.create(model=&quot;claude-opus-4-1-20250805-thinking&quot;, messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=&quot;result&quot;):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + &quot;.json&quot;).write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=&quot;utf-8&quot;)\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b&quot;-_&quot;, validate=True)\n        ext = &quot;png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4] == b&quot;RIFF&quot; and raw[8:12] == b&quot;WEBP&quot; else suffix\n        file = Path(stem + &quot;-&quot; + label + &quot;.&quot; + ext)\n        file.write_bytes(raw)\n        print(&quot;Saved&quot;, file)\n    for index, block in enumerate(data.get(&quot;content&quot;) or []):\n        print(&quot;Content&quot;, index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(&quot;choices&quot;) or []:\n        print(&quot;Choice&quot;, choice.get(&quot;index&quot;), json.dumps(choice.get(&quot;message&quot;, choice.get(&quot;delta&quot;, {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(&quot;output&quot;) or []):\n        print(&quot;Output&quot;, index, json.dumps(item, ensure_ascii=False))\n        if item.get(&quot;type&quot;) == &quot;image_generation_call&quot; and item.get(&quot;result&quot;):\n            save_blob(item[&quot;result&quot;], item.get(&quot;output_format&quot;) or &quot;bin&quot;, &quot;output-&quot; + str(index))\n    for ci, candidate in enumerate(data.get(&quot;candidates&quot;) or []):\n        for pi, part in enumerate((candidate.get(&quot;content&quot;) or {}).get(&quot;parts&quot;) or []):\n            print(&quot;Candidate/part&quot;, ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(&quot;inlineData&quot;) or part.get(&quot;inline_data&quot;)\n            if blob and blob.get(&quot;data&quot;):\n                mime = blob.get(&quot;mimeType&quot;) or blob.get(&quot;mime_type&quot;)\n                suffix = {&quot;image/png&quot;:&quot;png&quot;, &quot;image/jpeg&quot;:&quot;jpg&quot;, &quot;image/webp&quot;:&quot;webp&quot;, &quot;audio/wav&quot;:&quot;wav&quot;, &quot;audio/mpeg&quot;:&quot;mp3&quot;, &quot;video/mp4&quot;:&quot;mp4&quot;}.get(mime, &quot;bin&quot;)\n                save_blob(blob[&quot;data&quot;], suffix, &quot;candidate-&quot; + str(ci) + &quot;-part-&quot; + str(pi))\n\nsave_result(result.to_dict(mode=&quot;json&quot;))\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot Ultra · OpenAI Chat</h4><p class=\"note-s\">json או SSE</p><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.</p><p class=\"note-s\">שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.</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\">choices[].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\">choices[].message.content</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string|null</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">choices[].message.tool_calls</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>tool_call[]</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">choices[].message.reasoning_content</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\">choices[].message.reasoning_details</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>object|array</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">choices[].finish_reason</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string|null</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=claude-opus-4-1-20250805-thinking&amp;route=Ultra&amp;caller=claude-opus-4-1-20250805-thinking&amp;fmt=chat\"><code>claude-opus-4-1-20250805-thinking</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=claude-opus-4-1-20250805-thinking&amp;route=Ultra&amp;caller=claude-opus-4-1-20250805-thinking&amp;fmt=chat\"><code>claude-opus-4-1-20250805-thinking</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "claude-opus-4-1-20250805-thinking",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "claude-opus-4-1-20250805-thinking",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|claude-opus-4-1-20250805-thinking",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.6,
        "cache_write": 7.5,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "טקסט UTF8"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json או SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-opus-4-1-20250805-thinking"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "שיחת טקסט"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "שלחו את מזהה המודל המדויק עם messages.",
            "אורך ההקשר אינו תקרת פלט.",
            "קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "שיחת טקסט; stream הוא ערך בוליאני וברירת המחדל שלו היא false.",
            "file_material": "מסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "מערך הודעות במבנה role/content",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "תעריפי הבסיס לטוקנים",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.15000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.0075000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0.0000075",
                "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\":\"claude-opus-4-1-20250805-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\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/chat/completions \\\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(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"claude-opus-4-1-20250805-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 30,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 150,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.15000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.0075000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0.0000075",
                "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": "claude-opus-4-1-20250805-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.15000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00015",
            "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": "0.0006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.0000006",
            "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": "0.0075000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0.0000075",
            "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": "claude-opus-4-1-20250805-thinking",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "594be7364c185fde3f5feb9b5c0ca5079f89528da0784d65460dad219521f40d",
    "input_html_sha256": "b5877a38930cc6f156ef888b875ce631e880612b73a75433a501bf8ad308c1b6",
    "private_audit_sha256": "57305d335e5b1e68dd1cdeea6bbc8ca82cfd99c748ed7ef3feb0bc320aacc441",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/claude-opus-4-1-20250805-thinking/",
    "description": "Claude Opus 4.1 הוא העדכון של Anthropic ל-Opus 4 לעבודת תוכנה בסוכנים, למחקר, לניתוח נתונים ולהנמקה. הדגשים שלו כוללים מעקב אחר פרטים, שינויי קוד בכמה קבצים וניפוי שגיאות מדויק, עם תשובות רגילות או חשיבה מורחבת אופציונלית.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/claude-opus-4-1-20250805-thinking/index.md",
    "title": "Anthropic: Claude Opus 4.1 — Ailoot",
    "url": "https://ailoot.ai/models/he/claude-opus-4-1-20250805-thinking/"
  },
  "rawModel": {
    "about": "Claude Opus 4.1 הוא העדכון של Anthropic ל-Claude Opus 4 המקורי, המתמקד במשימות סוכנים, בתכנות מעשי ובהנמקה. הגרסה שלו מדגישה גם מחקר מעמיק וניתוח נתונים, במיוחד מעקב אחר פרטים ושימוש בחיפוש בתוך משימה גדולה יותר. הנספח הנלווה לכרטיס המערכת מתאר שיפורים באיכות ההנמקה ובביצוע הוראות. הוא נשאר מהדורה נפרדת מ-Opus 4 המקורי וממודלי Opus 4.5, 4.6 ו-5 המאוחרים יותר; אין להתייחס למצבים ולמגבלות שלהם כמפרט של העדכון הזה.\n\nלעבודת קוד, הגרסה מדגישה ארגון מחדש בכמה קבצים וזיהוי תיקונים מדויקים בתוך בסיס קוד גדול. תנו למודל את הקבצים או הקטעים הרלוונטיים, את ההתנהגות הקיימת, את ההתנהגות הרצויה ואת המגבלות ששינוי תקין חייב לשמר. בקשה לדוגמה יכולה לבקש לעקוב אחר כשל לאורך פונקציות קשורות, להציע את השינוי הקוהרנטי הקטן ביותר ולהסביר מדוע כל חלק ששונה נחוץ. התוצאה השימושית היא תיקון או הצעת קוד הניתנים לבדיקה, עם שמירת הקשר המקור וההנחות, במקום כתיבה מחדש רחבה שמטשטשת את הבעיה המקורית.\n\nלמחקר ולניתוח נתונים, הדגש על מעקב אחר פרטים מועיל כששאלה תלויה בכמה קטעים או תצפיות. ספקו את החומר עם מזהי המקור, הגדירו את השאלה ובקשו את הראיות שתומכות בכל מסקנה. תדריך מעשי יכול לבקש טבלת השוואה המראה היכן שני מסמכים מסכימים, היכן הם שונים ואילו שאלות נשארות ללא מענה. אם חיפוש הוא חלק מהתהליך, היישום מספק את הכלי ואת התוכן שהחזיר. המודל מקשר את התוצאות האלה לחומר הקיים; חיפוש מוצע בטקסט שלו אינו אחזור שהושלם.\n\nל-Opus 4.1 יש מצב מענה רגיל וחשיבה מורחבת אופציונלית. מדריך החשיבה הוותיק מספק שליטה ישירה באמצעות budget_tokens, עם מינימום של 1,024 טוקנים. בדרך כלל התקציב נמוך מ-max_tokens כי ההנמקה הפנימית והתשובה הסופית חולקות את מכסת היצירה. זהו יעד להנמקה ולא הבטחה לצרוך את כל הכמות. חשיבה מסתגלת ובקרות המאמץ של מהדורות Opus מאוחרות יותר הן יכולות נפרדות. הכינו בעיה מלאה והגדירו את פורמט התשובה הסופית כדי שהניתוח הנוסף יוביל לתוצאה שהקורא צריך.\n\nתכונת הבטא המתועדת למודלי Claude 4 הקודמים תומכת בחשיבה משולבת לסירוגין: הנמקה בין קריאות לכלים בתוך תור assistant אחד. היא משתמשת בתכונת interleaved-thinking של היצרן בתהליך Messages הנתמך. במצב הזה, תקציב החשיבה יכול להשתרע על כמה בלוקים ולעלות על ערך max_tokens של תור יחיד לפי החריג המתועד. החזירו את בלוק החשיבה התואם ללא שינוי עם תוצאת כלי, כולל החתימה שלו. כך תהליך ניפוי שגיאות יכול לשלב לסירוגין ניתוח, בדיקה שהיישום מבצע ופרשנות של הפלט בפועל, תוך הפרדה בין פעולות מוצעות לבין אלה שהושלמו.\n\nהנספח לכרטיס המערכת מתאר גם משימות שימוש במחשב הכוללות צפייה במסך, פעולות עכבר וקלט מקלדת, לצד משימות תכנות ארוכות יותר עם כלים. המודל יכול להסיק מסקנות ממצב חזותי שסופק ולבחור פעולה בסביבה מחוברת; היישום מבצע את האינטראקציה ומחזיר את השינוי שהתרחש. לתדריך המבוסס על מסך, הגדירו את המטרה, את הבקרות הרלוונטיות הנראות ואת הפעולות המותרות. לתהליך מסמכים או נתונים, בקשו הסבר טקסטואלי או תוצאה מובנית המקושרים לראיות שסופקו. פרשנות המודל וביצוע הסביבה הם חלקים נפרדים בעבודה.\n\nהערכת היצרן מדווחת על רגישות להזרקת הנחיות הדומה ל-Opus 4 המקורי. היא בוחנת במיוחד טקסט מוסתר או רכיבי ממשק שמנסים להסיט סוכן ממשימת המשתמש. הפרידו את הוראות המשימה מחומר המוחזר מכלים ושמרו על המטרה המקורית בעת פירוש דף או מסמך. זהו תנאי מהותי לתהליך סוכן: ראיית בקשה בתוך תוכן חיצוני אינה הופכת אותה להוראה שהמשתמש אישר. ההגנות של המודל אינן הופכות כל דף שהוא פוגש לקלט מהימן.\n\nכרטיס המערכת מתאר גם מגבלה בתכנות הנקראת ניצול מנגנון התגמול (reward hacking), לרבות תשובות המקודדות מראש ופתרונות המותאמים רק לדוגמאות שלפני המודל. Opus 4.1 מציג נטיות הדומות ל-Opus 4, עם ירידה מסוימת בביצועים באותן הערכות ממוקדות. להצעת קוד, בקשו פתרון שעומד בדרישה הכללית, הגדירו את התנאים שהוא מטפל בהם וכללו בדיקות מעבר לדוגמה היחידה שסופקה. בקשו שהדוח הסופי יבחין בין מה שהוצע, מה שהסביבה בדקה בפועל ומה שלא ניתן היה להוכיח. כך חוזקות המודל בניפוי שגיאות מדויק ובמעקב אחר פרטים מתחברות לתוצר מוגדר שאפשר לבדוק את התנהגותו.",
    "alias_of": null,
    "aliases": [],
    "author": "Anthropic",
    "capabilities": {
      "context_length": 200000,
      "manufacturer_input": [
        "image",
        "text",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.15000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00015",
            "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": null,
    "formats": [
      "chat"
    ],
    "id": "claude-opus-4-1-20250805-thinking",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.6,
        "cache_write": 7.5,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "טקסט UTF8"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json או SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-opus-4-1-20250805-thinking"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "שיחת טקסט"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "שלחו את מזהה המודל המדויק עם messages.",
            "אורך ההקשר אינו תקרת פלט.",
            "קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "שיחת טקסט; stream הוא ערך בוליאני וברירת המחדל שלו היא false.",
            "file_material": "מסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "מערך הודעות במבנה role/content",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "תעריפי הבסיס לטוקנים",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.15000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.0075000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0.0000075",
                "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\":\"claude-opus-4-1-20250805-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\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/chat/completions \\\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(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"claude-opus-4-1-20250805-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 30,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 150,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.15000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.0075000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0.0000075",
                "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": "claude-opus-4-1-20250805-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.15000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00015",
            "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": "0.0006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.0000006",
            "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": "0.0075000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0.0000075",
            "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": "claude-opus-4-1-20250805-thinking",
        "request_model_id": "claude-opus-4-1-20250805-thinking",
        "route_label": "Ultra"
      }
    ],
    "name": "Anthropic: Claude Opus 4.1",
    "price": {
      "in": 30,
      "in_label": null,
      "out": 150,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 30,
      "sort_out": 150,
      "varies": false
    },
    "short": "Claude Opus 4.1 הוא העדכון של Anthropic ל-Opus 4 לעבודת תוכנה בסוכנים, למחקר, לניתוח נתונים ולהנמקה. הדגשים שלו כוללים מעקב אחר פרטים, שינויי קוד בכמה קבצים וניפוי שגיאות מדויק, עם תשובות רגילות או חשיבה מורחבת אופציונלית."
  },
  "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": "Claude Opus 4.1 הוא העדכון של Anthropic ל-Opus 4 לעבודת תוכנה בסוכנים, למחקר, לניתוח נתונים ולהנמקה. הדגשים שלו כוללים מעקב אחר פרטים, שינויי קוד בכמה קבצים וניפוי שגיאות מדויק, עם תשובות רגילות או חשיבה מורחבת אופציונלית.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b7fe21b075025042934fd16820b9fb4ed989283798374c49697193366025e628",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "f0224fa20178565c1e3482827abce847c281085ae13d0ff5050465f373cfb1ce"
}
