Source: https://ailoot.ai/models/he/deepseek-v4-flash-0731/
Canonical: https://ailoot.ai/models/he/deepseek-v4-flash-0731/
Language: he

# DeepSeek: DeepSeek V4 Flash 0731

[Markdown](https://ailoot.ai/models/he/deepseek-v4-flash-0731/index.md) · [JSON](https://ailoot.ai/models/he/deepseek-v4-flash-0731/facts.json)

## [DeepSeek: DeepSeek V4 Flash 0731](https://ailoot.ai/models/he/deepseek-v4-flash-0731/)

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

- [**Ailoot · Anthropic Messages** `POST /v1/messages` `deepseek-v4-flash-0731`](https://ailoot.ai/models/he/deepseek-v4-flash-0731/#method-0)
- [**Ailoot · OpenAI Responses** `POST /v1/responses` `deepseek-v4-flash-0731`](https://ailoot.ai/models/he/deepseek-v4-flash-0731/#method-1)
- [**Ailoot · OpenAI Chat** `POST /v1/chat/completions` `deepseek-v4-flash-0731`](https://ailoot.ai/models/he/deepseek-v4-flash-0731/#method-2)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/deepseek-v4-flash-0731/#method-3)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/deepseek-v4-flash-0731/#method-4)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/deepseek-v4-flash-0731/#method-5)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/deepseek-v4-flash-0731/#method-6)

על המודל

התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.

DeepSeek V4 Flash 0731 הוא המהדורה הרשמית של ענף Flash, שמחליפה את גרסת התצוגה המקדימה שלו. המיקוד המעשי כולל קוד ועבודת סוכנים: הבנת מאגר שסופק, הצעת שינוי, שימוש בתצפיות מכלים והחזרת תוצר שהגורם שקרא למודל יכול לבדוק. שמרו את סימון מהדורת 0731 עם תוצאה שנשמרה כשמשווים אותה ל-Flash Preview, ל-Pro 0813 או ל-V4.1 Flash.

#### התחילו מהחומר ומהתוצר

ספקו את המשימה עצמה, הקבצים או קטעי המסמכים הרלוונטיים, האילוצים והתוצאה המצופה. לשינוי במאגר, צרפו את הקוד המושפע, ההתנהגות שנצפתה והפקודה או הבקשה שמשחזרות את הבעיה. ציינו אם התוצר הוא הסבר, תיקון מוצע, רשימת ממצאים או תוכנית מובנית.

ניסוח שימושי לאיתור תקלה הוא: ״השתמשו במטפל הנתיב, בסכמת האימות ובבקשה שנכשלה שסופקו. הסבירו היכן הקלט סוטה מהסכמה, הציעו את השינוי הקטן ביותר וציינו איזו בדיקה קיימת תבחין בתוצאה מתוקנת״. למשימת מסמכים, ציינו את החלקים שסופקו ובקשו טבלה של דרישות, ראיות ושאלות פתוחות. אלה דוגמאות לניסוח משימות; צרפו לבקשה את חומר המקור האמיתי.

#### בחרו שיחה ישירה או חשיבה

פורמט היצרן תומך בשיחה ישירה ובחשיבה. שיחה ישירה מחזירה את תוכן התגובה ישירות. חשיבה מפרידה בין שדה החשיבה של המודל לבין התשובה הסופית שלו. במצב חשיבה, אפשרויות המאמץ המתועדות הן low, high ו-max, עם low כברירת מחדל. המהדורה הזאת משתמשת ברמות בעלות השמות האלה, ולא בסולם מאמץ של מספרים שלמים כמו ב-V4.1 Flash.

בחרו את המצב בהתאם לעבודה. בשינוי נוסח קצר אפשר לציין את העובדות שיש לשמר ואת הטון של הנוסח החלופי. במשימת מאגר מורכבת אפשר להגדיר את שלבי החקירה, הראיות הרלוונטיות ודוח סופי תמציתי. הגדירו את התוצר הסופי במפורש גם כשמשתמשים במאמץ חשיבה גבוה יותר: למשל diff מוצע עם הסבר קצר והפקודות הדרושות לבדיקתו.

#### חברו כלים דרך תהליך העבודה של היישום

הפורמט המקורי תומך בהודעות מרובות סבבים ובהגדרות כלים עם פרמטרים וסכמות בעלי שמות. המודל יכול להחזיר בקשה להפעלת כלי; היישום מבצע את הפעולה ומספק את התצפית שהתקבלה בסבב הבא. שמרו את תוצאות הכלים בצמוד לקריאות המתאימות, ושמרו על סדרן כשמחזירים כמה תצפיות.

לתהליך של בדיקת קבצים, חשפו את פעולת הקריאה האמיתית, תארו את נתיב הקלט והחזירו את התוכן שנצפה. בקשו מהמודל לבסס עליו את ההצעה הבאה. לתהליך נתונים, ספקו את פעולת השאילתה והחזירו את הרשומות בפועל; בקשו חישוב או סיכום על הרשומות האלה. קריאה שהוחזרה ופעולה שבוצעה הן שלבים נפרדים בדרך לתוצאה המבוקשת.

המקודד של היצרן משמר את הקשר החשיבה לאורך שיחות עם כלים. בשיחה רגילה הוא בדרך כלל מסיר חשיבה מסבבים מוקדמים יותר, לפני הודעת המשתמש האחרונה. השתמשו בשדות ההודעות ובאופן הטיפול בשיחה המתועדים כשמשמרים תהליך רב-שלבי. המנתח התחבירי במימוש הייחוס מצפה לפלט תקין, ולכן בדקו את השם והפרמטרים של קריאה שפוענחה לפני ביצועה, ושמרו תוצאה לא תקינה לבדיקה.

#### תכננו את התקציב לשיחה ולתשובה

תצורת המודל המתוארכת מגדירה 1,048,576 מיקומים ברצף. כללו את החומר שסופק, היסטוריית השיחה, הגדרות הכלים, התצפיות שהוחזרו והתגובה שנוצרה בתכנון הרצף. הגדירו למודל יעד תשובה שימושי, כגון תיקון קטן, טבלת ראיות או תוכנית ממוספרת, במקום למלא את המקום בקבצים לא קשורים.

מתכון ההפעלה המקומי של היצרן ממליץ על temperature של 1.0, עם top\_p של 0.95 לעבודת סוכנים ו-1.0 בשאר המקרים. למאמץ חשיבה high ו-max הוא ממליץ להגדיר אורך פלט מרבי של 384K טוקנים. אלה הגדרות מתכון שפורסמו והמלצה לתקציב היצירה; תקציב הרצף עדיין צריך להכיל את שאר הבקשה.

#### הבחינו בין המהדורה לבין הארכיטקטורה

מהדורת 0731 משתמשת במבנה Flash DSpark, כולל מודול נלווה לפענוח ספקולטיבי. ליבת Flash שמתחתיו היא מודל תערובת מומחים המתואר עם 284 מיליארד פרמטרים בסך הכול ו-13 מיליארד שמופעלים לכל טוקן. הבדילו בין המספרים של הליבה לבין משקלים של מודולים נוספים. בתצורה המתוארכת המדויקת יש 43 שכבות, 256 מומחים מנותבים, מומחה משותף אחד ושישה מומחים שנבחרים לכל טוקן.

הפלט השימושי נשאר התשובה, הקוד המוצע, הממצא המובנה או שלב העבודה הבא שביקש המשתמש הקורא למודל. בדקו שינוי קוד מול הקבצים שסופקו והתקלה שנצפתה. בדקו מסקנה ממסמך מול הקטע המצוטט או הרשומה שהוחזרה. שמרו עם התוצאה את מהדורת המודל, תיאור המשימה והתצפיות הרלוונטיות, כדי שבהשוואה מאוחרת יותר ייעשה שימוש באותה בעיה ובאותן ראיות.

משימה מעשית

### משימה מעשית

דוגמה טכנית באנגלית

```
Repair a required-field check

A route rejects only if not payload.get("quantity"). The contract requires quantity to be an integer greater than zero, excluding booleans. Explain why inputs {"quantity": -2} and {"quantity": true} expose a problem. Propose a small Python validation patch and cases for missing, zero, negative, boolean and positive values.
```

#### התוצאה הצפויה

```
A diagnosis, a focused validation patch and five input cases with accept or reject expectations.
```

#### בדיקת התוצאה

```
Check that Python booleans are not accepted as integers and positive whole quantities still pass.
```

**Ailoot · Anthropic Messages** `POST /v1/messages` `deepseek-v4-flash-0731`

[`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=messages)

DeepSeek /`deepseek-v4-flash-0731`

### התחלה

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

סוגי קלט נתמכים

טקסט

תוצאות

טקסט

### זמין ב-Ailoot · קלט ושיטות

**Ailoot · Anthropic Messages** `POST /v1/messages`

סוגי קלט

`text`

סוגי פלט

`text`

הקשר

⁦1,000,000⁩ tokens

פלט מרבי

⁦393,216⁩ tokens

פורמט פלט

json או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות deepseek-v4-flash-0731 | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: ⁦1⁩ | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות user, assistant | ברירת מחדל— |
| שדה`messages[].content` | סוג`string\|content_block[]` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`system` | סוג`string\|content_block[]` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהחובה | ערכים ומגבלות מינימום: ⁦1⁩ המגבלה חלה על: התקרה המדויקת של המודל/הכרטיס שנבחר | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
| שדה`temperature` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`top_p` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`stop_sequences` | סוג`string[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools` | סוג`tool[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools[].name` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: סופק כלי | ברירת מחדל— |
| שדה`tools[].description` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tools[].input_schema` | סוג`JSON_schema` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tool_choice` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`thinking.type` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`thinking.budget_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`output_config.effort` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`metadata` | סוג`object` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`cache_control` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |

שילובים של חומרי קלט

**טקסט** · טקסט UTF8

`messages[].content או בלוק type=text`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`material_types` | מפרטtext |
| פרמטר`required` | מפרטmodel, messages, max\_tokens |
| פרמטר`optional_controls` | מפרטnull |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`text_file_material` | מפרטתוכן UTF-8 בפועל מוכנס כטקסט; מזהי קבצים/URLs דורשים תמיכה נפרדת ומדויקת |

מחזור חיים: `exact retained published method`

מבני המתודות והמזהים מדויקים; יכולת הספק נפרדת מקבלת הבקשה לביצוע.

### תעריפים

#### תעריפי שיטות Ailoot

קלט

⁦‏0.00044 ‏$⁩ */ 1K*

פלט

⁦‏0.00132 ‏$⁩ */ 1K*

קריאה מהמטמון

⁦‏0.000044 ‏$⁩ */ 1K*

כתיבה למטמון

⁦‏0.00044 ‏$⁩ */ 1K*

כתיבה למטמון, 5 דקות

⁦‏0.00044 ‏$⁩ */ 1K tokens*

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

#### פרטי תעריף הייחוס

טבלאות הייחוס ברמת המודל אינן משנות את בחירת השיטה, הצעות המחיר או החיובים. החיובים בפועל משתמשים בתעריפי שיטת Ailoot שנבחרה.

טבלאות ייחוס של המודל

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהOpenAI Chat · תעריפי טוקנים בסיסיים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהOpenAI Chat · מדרגה 1 לפי אורך הבקשה | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהAnthropic Messages · תעריפי טוקנים בסיסיים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהAnthropic Messages · מדרגה 1 לפי אורך הבקשה | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

### דוגמאות לבקשות

#### Ailoot · Anthropic Messages

דוגמת טקסטPython SDKNode.js SDKהזרמה ב-Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "deepseek-v4-flash-0731", "max_tokens": 1024, "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

```python
import anthropic
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = anthropic.Anthropic(base_url="https://api.ailoot.ai", api_key=os.environ["AILOOT_API_KEY"], max_retries=0)
msg = client.messages.create(
    model="deepseek-v4-flash-0731",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}],
)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(msg.to_dict(mode="json"))
```

```js
import Anthropic from "@anthropic-ai/sdk";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new Anthropic({ baseURL: "https://api.ailoot.ai", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const msg = await client.messages.create({
  model: "deepseek-v4-flash-0731",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(msg);
```

```python
import anthropic,os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=anthropic.Anthropic(base_url="https://api.ailoot.ai",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.messages.stream(model='deepseek-v4-flash-0731',max_tokens=1024,messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_message()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### קבלה ושמירה של תוצאות

#### Ailoot · Anthropic Messages

json או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו את כל בלוקי התוכן, חתימות החשיבה ומזהי השימוש בכלים בפועל. הרכיבו את כל עדכוני הבלוקים של SSE; בלוק הטקסט הראשון אינו הפלט המלא.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`id` | סוגstring |
| שדה`model` | סוגstring |
| שדה`content[]` | סוגtext\|thinking\|tool\_use\|other content block |
| שדה`stop_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

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

<strong>Ailoot</strong> [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=messages)
**Ailoot Ultra** [`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=messages), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=messages)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=messages), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=messages), [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=messages)

**Ailoot · OpenAI Responses** `POST /v1/responses` `deepseek-v4-flash-0731`

[`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=responses)

DeepSeek /`deepseek-v4-flash-0731`

### התחלה

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

סוגי קלט נתמכים

טקסט

תוצאות

טקסט

### זמין ב-Ailoot · קלט ושיטות

**Ailoot · OpenAI Responses** `POST /v1/responses`

סוגי קלט

`text`

סוגי פלט

`text`

הקשר

⁦1,000,000⁩ tokens

פלט מרבי

⁦393,216⁩ tokens

פורמט פלט

json או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות deepseek-v4-flash-0731 | ברירת מחדל— |
| שדה`input` | סוג`string\|input_item[]` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`instructions` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`input[].type` | סוג`string` | דרישהרשות | ערכים ומגבלות message, reasoning, function\_call, function\_call\_output | ברירת מחדל— |
| שדה`input[].content` | סוג`string\|content_part[]` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`input[].call_id` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: function\_call\_output; שמרו את call\_id שהוחזר בפועל | ברירת מחדל— |
| שדה`input[].output` | סוג`string\|content_part[]` | דרישהרשות | ערכים ומגבלות חל כאשר: function\_call\_output | ברירת מחדל— |
| שדה`max_output_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
| שדה`temperature` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`top_p` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools` | סוג`tool[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tool_choice` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`parallel_tool_calls` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning.effort` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning.summary` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`text.format` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`text.verbosity` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`include` | סוג`string[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`store` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`previous_response_id` | סוג`string` | דרישהרשות | ערכים ומגבלות דרישת ID: רק מזהה תגובה בפועל מהמשך נתמך תלוי במודל | ברירת מחדל— |
| שדה`service_tier` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`prompt_cache_key` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`prompt_cache_options` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |

שילובים של חומרי קלט

**טקסט** · טקסט UTF8

`טקסט קלט או חלק input_text`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`material_types` | מפרטtext |
| פרמטר`required` | מפרטmodel, input |
| פרמטר`optional_controls` | מפרטnull |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`text_file_material` | מפרטתוכן UTF-8 בפועל מוכנס כטקסט; מזהי קבצים/URLs דורשים תמיכה נפרדת ומדויקת |

מחזור חיים: `exact retained published method`

מבני המתודות והמזהים מדויקים; יכולת הספק נפרדת מקבלת הבקשה לביצוע.

### תעריפים

#### תעריפי שיטות Ailoot

קלט

⁦‏0.00044 ‏$⁩ */ 1K*

פלט

⁦‏0.00132 ‏$⁩ */ 1K*

קריאה מהמטמון

⁦‏0.000044 ‏$⁩ */ 1K*

כתיבה למטמון

⁦‏0.00044 ‏$⁩ */ 1K*

כתיבה למטמון, 5 דקות

⁦‏0.00044 ‏$⁩ */ 1K tokens*

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

#### פרטי תעריף הייחוס

טבלאות הייחוס ברמת המודל אינן משנות את בחירת השיטה, הצעות המחיר או החיובים. החיובים בפועל משתמשים בתעריפי שיטת Ailoot שנבחרה.

טבלאות ייחוס של המודל

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהOpenAI Chat · תעריפי טוקנים בסיסיים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהOpenAI Chat · מדרגה 1 לפי אורך הבקשה | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהAnthropic Messages · תעריפי טוקנים בסיסיים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהAnthropic Messages · מדרגה 1 לפי אורך הבקשה | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

### דוגמאות לבקשות

#### Ailoot · OpenAI Responses

דוגמת טקסטPython SDKNode.js SDKהזרמה ב-Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "deepseek-v4-flash-0731", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]="Summarize this material and quote supporting source passages.\n\n"+text
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/responses \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(json.loads(Path("result.json").read_text(encoding="utf-8")))
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = OpenAI(base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"], max_retries=0)
resp = client.responses.create(model="deepseek-v4-flash-0731", input="Explain the difference between an observation and a hypothesis in three sentences.")
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(resp.to_dict(mode="json"))
```

```js
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.responses.create({ model: "deepseek-v4-flash-0731", input: "Explain the difference between an observation and a hypothesis in three sentences." });
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
```

```python
from openai import OpenAI
import os
from pathlib import Path
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
with client.responses.stream(model="deepseek-v4-flash-0731", input="Explain the difference between an observation and a hypothesis in three sentences.") as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_response()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### קבלה ושמירה של תוצאות

#### Ailoot · OpenAI Responses

json או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו כל פריט פלט וחלק תוכן, את call\_id של הפונקציה בפועל, הנמקה מוצפנת ושימוש. בסטרימינג שמרו את זהות האירוע/הפריט במלואה.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`id` | סוגstring |
| שדה`status` | סוגstring |
| שדה`output[]` | סוגmessage\|reasoning\|function\_call\|other item |
| שדה`output[].content[]` | סוגcontent part |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

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

<strong>Ailoot</strong> [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=responses)
**Ailoot Ultra** [`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest), [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=responses)

**Ailoot · OpenAI Chat** `POST /v1/chat/completions` `deepseek-v4-flash-0731`

[`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=chat)

DeepSeek /`deepseek-v4-flash-0731`

### התחלה

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

סוגי קלט נתמכים

טקסט

תוצאות

טקסט

### זמין ב-Ailoot · קלט ושיטות

**Ailoot · OpenAI Chat** `POST /v1/chat/completions`

סוגי קלט

`text`

סוגי פלט

`text`

הקשר

⁦1,000,000⁩ tokens

פלט מרבי

⁦393,216⁩ tokens

פורמט פלט

json או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות deepseek-v4-flash-0731 | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: ⁦1⁩ | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות דוגמאות: system, user, assistant, tool, function תנאים: התפקידים האלה מיוצגים במפורש בטיפוסי התאימות בקוד המקור; מערך התפקידים המדויק נשאר ייחודי לכל מודל. תלוי במודל | ברירת מחדל— |
| שדה`messages[].content` | סוג`string\|content_part[]\|null` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_calls` | סוג`tool_call[]` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_call_id` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: role=tool; השתמשו במזהה שהוחזר בפועל | ברירת מחדל— |
| שדה`messages[].name` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].reasoning_content` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: החזירו בהמשך את ההנמקה שהתקבלה בפועל כאשר המודל הזה משתמש בה | ברירת מחדל— |
| שדה`messages[].reasoning_details` | סוג`object\|array` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`max_completion_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
| שדה`stream_options.include_usage` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`temperature` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`top_p` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`stop` | סוג`string\|string[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools` | סוג`function_tool[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools[].type` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools[].function.name` | סוג`string` | דרישהחובה | ערכים ומגבלות חל כאשר: סופק כלי פונקציה | ברירת מחדל— |
| שדה`tools[].function.description` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tools[].function.parameters` | סוג`JSON_schema` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tool_choice` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`parallel_tool_calls` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`response_format` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning_effort` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`service_tier` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`instructions` | סוג`string` | דרישהרשות | ערכים ומגבלות שדה תאימות | ברירת מחדל— |
| שדה`functions` | סוג`function[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`function_call` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`prompt_cache_options` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |

שילובים של חומרי קלט

**טקסט** · טקסט UTF8

`messages[].content`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`material_types` | מפרטtext |
| פרמטר`required` | מפרטmodel, messages |
| פרמטר`optional_controls` | מפרטnull |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`text_file_material` | מפרטתוכן UTF-8 בפועל מוכנס כטקסט; מזהי קבצים/URLs דורשים תמיכה נפרדת ומדויקת |

מחזור חיים: `exact retained published method`

מבני המתודות והמזהים מדויקים; יכולת הספק נפרדת מקבלת הבקשה לביצוע.

### תעריפים

#### תעריפי שיטות Ailoot

קלט

⁦‏0.00044 ‏$⁩ */ 1K*

פלט

⁦‏0.00132 ‏$⁩ */ 1K*

קריאה מהמטמון

⁦‏0.000044 ‏$⁩ */ 1K*

כתיבה למטמון

⁦‏0.00044 ‏$⁩ */ 1K*

כתיבה למטמון, 5 דקות

⁦‏0.00044 ‏$⁩ */ 1K tokens*

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

#### פרטי תעריף הייחוס

טבלאות הייחוס ברמת המודל אינן משנות את בחירת השיטה, הצעות המחיר או החיובים. החיובים בפועל משתמשים בתעריפי שיטת Ailoot שנבחרה.

טבלאות ייחוס של המודל

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהOpenAI Chat · תעריפי טוקנים בסיסיים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהOpenAI Chat · מדרגה 1 לפי אורך הבקשה | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהAnthropic Messages · תעריפי טוקנים בסיסיים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהAnthropic Messages · מדרגה 1 לפי אורך הבקשה | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

### דוגמאות לבקשות

#### Ailoot · OpenAI Chat

דוגמת טקסטPython SDKNode.js SDKהזרמה ב-Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "deepseek-v4-flash-0731", "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = OpenAI(base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"], max_retries=0)
resp = client.chat.completions.create(
    model="deepseek-v4-flash-0731",
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}],
)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(resp.to_dict(mode="json"))
```

```js
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.chat.completions.create({
  model: "deepseek-v4-flash-0731",
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='deepseek-v4-flash-0731',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### קבלה ושמירה של תוצאות

#### Ailoot · OpenAI Chat

json או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`choices[].index` | סוגinteger |
| שדה`choices[].message.content` | סוגstring\|null |
| שדה`choices[].message.tool_calls` | סוגtool\_call\[\] |
| שדה`choices[].message.reasoning_content` | סוגstring |
| שדה`choices[].message.reasoning_details` | סוגobject\|array |
| שדה`choices[].finish_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

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

<strong>Ailoot</strong> [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=chat)
**Ailoot Ultra** [`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=chat), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=chat)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=chat), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=chat), [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=chat)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `deepseek/deepseek-v4-flash-0731`

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=chat)

DeepSeek /`deepseek/deepseek-v4-flash-0731`

מזהה מודל ID

- `deepseek/deepseek-v4-flash-0731`
- `~deepseek/deepseek-v4-flash-latest`

### התחלה

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

סוגי קלט נתמכים

טקסט

תוצאות

טקסט

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

סוגי קלט

`text`

סוגי פלט

`text`

פורמט פלט

json או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות deepseek/deepseek-v4-flash-0731 | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: ⁦1⁩ | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות דוגמאות: system, user, assistant, tool, function תנאים: התפקידים האלה מיוצגים במפורש בטיפוסי התאימות בקוד המקור; מערך התפקידים המדויק נשאר ייחודי לכל מודל. תלוי במודל | ברירת מחדל— |
| שדה`messages[].content` | סוג`string\|content_part[]\|null` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_calls` | סוג`tool_call[]` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_call_id` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: role=tool; השתמשו במזהה שהוחזר בפועל | ברירת מחדל— |
| שדה`messages[].name` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].reasoning_content` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: החזירו בהמשך את ההנמקה שהתקבלה בפועל כאשר המודל הזה משתמש בה | ברירת מחדל— |
| שדה`messages[].reasoning_details` | סוג`object\|array` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`max_completion_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
| שדה`stream_options.include_usage` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`temperature` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`top_p` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`stop` | סוג`string\|string[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools` | סוג`function_tool[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools[].type` | סוג`string` | דרישהרשות | ערכים ומגבלות function תלוי במודל | ברירת מחדל— |
| שדה`tools[].function.name` | סוג`string` | דרישהחובה | ערכים ומגבלות חל כאשר: סופק כלי פונקציה | ברירת מחדל— |
| שדה`tools[].function.description` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tools[].function.parameters` | סוג`JSON_schema` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tool_choice` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`parallel_tool_calls` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`response_format` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning_effort` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`service_tier` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`instructions` | סוג`string` | דרישהרשות | ערכים ומגבלות שדה תאימות | ברירת מחדל— |
| שדה`functions` | סוג`function[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`function_call` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`prompt_cache_options` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`modalities` | סוג`string[]` | דרישהרשות | ערכים ומגבלות text | ברירת מחדל— |
| שדה`provider` | סוג`object` | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה במסלול הטקסט הזה של Ultra | ברירת מחדל— |
| שדה`cache_control.ttl` | סוג`string` | דרישהרשות | ערכים ומגבלות תנאים: 1h נדחה במיקומים המשמשים בפועל למטמון הנחיות | ברירת מחדל— |

שילובים של חומרי קלט

**טקסט** · טקסט UTF8

`messages[].content`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`required` | מפרטmodel, messages |
| פרמטר`material_types` | מפרטtext |
| פרמטר`messages` | מפרטמערך הודעות במבנה role/content |
| פרמטר`file_material` | מפרטמסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ |
| פרמטר`optional_controls` | מפרטstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| פרמטר`control_scope` | מפרטייחודי למודל; כלי פונקציות של המשתמש שונים מכלים מתארחים |
| פרמטר`output_modalities` | מפרטtext |
| פרמטר`hosted_operations` | מפרטfalse |
| פרמטר`multimodal_input_binding` | מפרטnull |

מחזור חיים: `synchronous_or_streamed`

שלחו את מזהה המודל המדויק עם messages.

אורך ההקשר אינו תקרת פלט.

קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק.

### תעריפים

מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.

מצב מהיר

תעריף רגיל כאשר נבחר מצב מהיר

מצב Flex

תעריף רגיל כאשר נבחר מצב flex

מאמץ חשיבה מרבי

תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)

מאמץ חשיבה · high

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־high

מאמץ חשיבה · low

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־low

מאמץ חשיבה · max

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־max

#### תעריפי Ailoot

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · OpenAI Chat

curlPython SDKהזרמה ב-Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "deepseek/deepseek-v4-flash-0731", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='deepseek/deepseek-v4-flash-0731',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='deepseek/deepseek-v4-flash-0731',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### קבלה ושמירה של תוצאות

#### Ailoot Ultra · OpenAI Chat

json או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`choices[].index` | סוגinteger |
| שדה`choices[].message.content` | סוגstring\|null |
| שדה`choices[].message.tool_calls` | סוגtool\_call\[\] |
| שדה`choices[].message.reasoning_content` | סוגstring |
| שדה`choices[].message.reasoning_details` | סוגobject\|array |
| שדה`choices[].finish_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

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

<strong>Ailoot</strong> [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=chat)
**Ailoot Ultra** [`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=chat), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=chat)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=chat), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=chat), [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `deepseek/deepseek-v4-flash-0731`

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=messages)

DeepSeek /`deepseek/deepseek-v4-flash-0731`

מזהה מודל ID

- `deepseek/deepseek-v4-flash-0731`
- `~deepseek/deepseek-v4-flash-latest`

### התחלה

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

סוגי קלט נתמכים

טקסט

תוצאות

json · sse

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

סוגי קלט

`text`

סוגי פלט

`json`, `sse`

פורמט פלט

JSON או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות deepseek/deepseek-v4-flash-0731 | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות user, assistant | ברירת מחדל— |
| שדה`messages[].content` | סוג`string` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |

שילובים של חומרי קלט

**טקסט** · טקסט UTF-8

`מחרוזת messages[].content`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`required` | מפרטmodel, messages, max\_tokens |
| פרמטר`optional_controls` | מפרטstream |
| פרמטר`material_types` | מפרטtext |
| פרמטר`text_file_material` | מפרטקראו את מסמך UTF-8 בפועל והכניסו את הטקסט שלו לקלט שצוין או למחרוזת תוכן ההודעה. |

מחזור חיים: `synchronous_or_streamed`

### תעריפים

מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.

מצב מהיר

תעריף רגיל כאשר נבחר מצב מהיר

מצב Flex

תעריף רגיל כאשר נבחר מצב flex

מאמץ חשיבה מרבי

תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)

מאמץ חשיבה · high

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־high

מאמץ חשיבה · low

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־low

מאמץ חשיבה · max

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־max

#### תעריפי Ailoot

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · Anthropic Messages

גוף JSON מינימלי ושלםcurl · השתמשו במסמך UTF-8 שלכםPython · שמרו את התוצאה המלאה

```json
{
  "model": "deepseek/deepseek-v4-flash-0731",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'deepseek/deepseek-v4-flash-0731', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'deepseek/deepseek-v4-flash-0731', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### קבלה ושמירה של תוצאות

#### Ailoot Ultra · Anthropic Messages

JSON או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו את כל בלוקי התוכן, חתימות החשיבה ומזהי השימוש בכלים בפועל. הרכיבו את כל עדכוני הבלוקים של SSE; בלוק הטקסט הראשון אינו הפלט המלא.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`id` | סוגstring |
| שדה`model` | סוגstring |
| שדה`content[]` | סוגtext\|thinking\|tool\_use\|other content block |
| שדה`stop_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

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

<strong>Ailoot</strong> [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=messages)
**Ailoot Ultra** [`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=messages), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=messages)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=messages), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=messages), [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=messages)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `~deepseek/deepseek-v4-flash-latest`

[`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=chat)

DeepSeek /`~deepseek/deepseek-v4-flash-latest`

מזהה מודל ID

- `deepseek/deepseek-v4-flash-0731`
- `~deepseek/deepseek-v4-flash-latest`

### התחלה

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

סוגי קלט נתמכים

טקסט

תוצאות

טקסט

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

סוגי קלט

`text`

סוגי פלט

`text`

פורמט פלט

json או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות ~deepseek/deepseek-v4-flash-latest | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: ⁦1⁩ | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות דוגמאות: system, user, assistant, tool, function תנאים: התפקידים האלה מיוצגים במפורש בטיפוסי התאימות בקוד המקור; מערך התפקידים המדויק נשאר ייחודי לכל מודל. תלוי במודל | ברירת מחדל— |
| שדה`messages[].content` | סוג`string\|content_part[]\|null` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_calls` | סוג`tool_call[]` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_call_id` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: role=tool; השתמשו במזהה שהוחזר בפועל | ברירת מחדל— |
| שדה`messages[].name` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].reasoning_content` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: החזירו בהמשך את ההנמקה שהתקבלה בפועל כאשר המודל הזה משתמש בה | ברירת מחדל— |
| שדה`messages[].reasoning_details` | סוג`object\|array` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`max_completion_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
| שדה`stream_options.include_usage` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`temperature` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`top_p` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`stop` | סוג`string\|string[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools` | סוג`function_tool[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools[].type` | סוג`string` | דרישהרשות | ערכים ומגבלות function תלוי במודל | ברירת מחדל— |
| שדה`tools[].function.name` | סוג`string` | דרישהחובה | ערכים ומגבלות חל כאשר: סופק כלי פונקציה | ברירת מחדל— |
| שדה`tools[].function.description` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tools[].function.parameters` | סוג`JSON_schema` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tool_choice` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`parallel_tool_calls` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`response_format` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning_effort` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`service_tier` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`instructions` | סוג`string` | דרישהרשות | ערכים ומגבלות שדה תאימות | ברירת מחדל— |
| שדה`functions` | סוג`function[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`function_call` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`prompt_cache_options` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`modalities` | סוג`string[]` | דרישהרשות | ערכים ומגבלות text | ברירת מחדל— |
| שדה`provider` | סוג`object` | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה במסלול הטקסט הזה של Ultra | ברירת מחדל— |
| שדה`cache_control.ttl` | סוג`string` | דרישהרשות | ערכים ומגבלות תנאים: 1h נדחה במיקומים המשמשים בפועל למטמון הנחיות | ברירת מחדל— |

שילובים של חומרי קלט

**טקסט** · טקסט UTF8

`messages[].content`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`required` | מפרטmodel, messages |
| פרמטר`material_types` | מפרטtext |
| פרמטר`messages` | מפרטמערך הודעות במבנה role/content |
| פרמטר`file_material` | מפרטמסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ |
| פרמטר`optional_controls` | מפרטstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| פרמטר`control_scope` | מפרטייחודי למודל; כלי פונקציות של המשתמש שונים מכלים מתארחים |
| פרמטר`output_modalities` | מפרטtext |
| פרמטר`hosted_operations` | מפרטfalse |
| פרמטר`multimodal_input_binding` | מפרטnull |

מחזור חיים: `synchronous_or_streamed`

שלחו את מזהה המודל המדויק עם messages.

אורך ההקשר אינו תקרת פלט.

קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק.

### תעריפים

מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.

מצב מהיר

תעריף רגיל כאשר נבחר מצב מהיר

מצב Flex

תעריף רגיל כאשר נבחר מצב flex

מאמץ חשיבה מרבי

תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)

מאמץ חשיבה · high

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־high

מאמץ חשיבה · low

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־low

מאמץ חשיבה · max

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־max

#### תעריפי Ailoot

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · OpenAI Chat

curlPython SDKהזרמה ב-Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "~deepseek/deepseek-v4-flash-latest", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='~deepseek/deepseek-v4-flash-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='~deepseek/deepseek-v4-flash-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### קבלה ושמירה של תוצאות

#### Ailoot Ultra · OpenAI Chat

json או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`choices[].index` | סוגinteger |
| שדה`choices[].message.content` | סוגstring\|null |
| שדה`choices[].message.tool_calls` | סוגtool\_call\[\] |
| שדה`choices[].message.reasoning_content` | סוגstring |
| שדה`choices[].message.reasoning_details` | סוגobject\|array |
| שדה`choices[].finish_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

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

<strong>Ailoot</strong> [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=chat)
**Ailoot Ultra** [`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=chat), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=chat)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=chat), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=chat), [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `~deepseek/deepseek-v4-flash-latest`

[`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=messages)

DeepSeek /`~deepseek/deepseek-v4-flash-latest`

מזהה מודל ID

- `deepseek/deepseek-v4-flash-0731`
- `~deepseek/deepseek-v4-flash-latest`

### התחלה

DeepSeek V4 Flash 0731 היא מהדורת Flash הרשמית לטקסט, לתכנות ולתהליכי עבודה של סוכנים. היא מציעה מצבי שיחה ישירה וחשיבה, פלט מובנה של קריאות לכלים והקשר מודל של מיליון טוקנים; מהדורה מתוארכת זו כוללת את מודול הפענוח הספקולטיבי DSpark.

סוגי קלט נתמכים

טקסט

תוצאות

json · sse

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

סוגי קלט

`text`

סוגי פלט

`json`, `sse`

פורמט פלט

JSON או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות ~deepseek/deepseek-v4-flash-latest | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות user, assistant | ברירת מחדל— |
| שדה`messages[].content` | סוג`string` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |

שילובים של חומרי קלט

**טקסט** · טקסט UTF-8

`מחרוזת messages[].content`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`required` | מפרטmodel, messages, max\_tokens |
| פרמטר`optional_controls` | מפרטstream |
| פרמטר`material_types` | מפרטtext |
| פרמטר`text_file_material` | מפרטקראו את מסמך UTF-8 בפועל והכניסו את הטקסט שלו לקלט שצוין או למחרוזת תוכן ההודעה. |

מחזור חיים: `synchronous_or_streamed`

### תעריפים

מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.

מצב מהיר

תעריף רגיל כאשר נבחר מצב מהיר

מצב Flex

תעריף רגיל כאשר נבחר מצב flex

מאמץ חשיבה מרבי

תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)

מאמץ חשיבה · high

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־high

מאמץ חשיבה · low

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־low

מאמץ חשיבה · max

תעריף רגיל כאשר מאמץ החשיבה מוגדר ל־max

#### תעריפי Ailoot

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.00088** / 1K טוקנים פלט · טוקני פלט **$0.00264** / 1K טוקנים קלט · קריאה מהמטמון **$0.000056** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · Anthropic Messages

גוף JSON מינימלי ושלםcurl · השתמשו במסמך UTF-8 שלכםPython · שמרו את התוצאה המלאה

```json
{
  "model": "~deepseek/deepseek-v4-flash-latest",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~deepseek/deepseek-v4-flash-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~deepseek/deepseek-v4-flash-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### קבלה ושמירה של תוצאות

#### Ailoot Ultra · Anthropic Messages

JSON או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו את כל בלוקי התוכן, חתימות החשיבה ומזהי השימוש בכלים בפועל. הרכיבו את כל עדכוני הבלוקים של SSE; בלוק הטקסט הראשון אינו הפלט המלא.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`id` | סוגstring |
| שדה`model` | סוגstring |
| שדה`content[]` | סוגtext\|thinking\|tool\_use\|other content block |
| שדה`stop_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

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

<strong>Ailoot</strong> [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=messages)
**Ailoot Ultra** [`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=messages), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=messages)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`deepseek/deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=deepseek%2Fdeepseek-v4-flash-0731&fmt=messages), [`~deepseek/deepseek-v4-flash-latest`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Ultra&caller=~deepseek%2Fdeepseek-v4-flash-latest&fmt=messages), [`deepseek-v4-flash-0731`](https://ailoot.ai/models/he/#m=deepseek%2Fdeepseek-v4-flash-0731&route=Core&caller=deepseek-v4-flash-0731&fmt=messages)

FAQ · DeepSeek: DeepSeek V4 Flash 0731

אילו קלטים ותוצאות זמינים?

`POST /v1/messages` · `deepseek-v4-flash-0731`: `text` → `text` `POST /v1/responses` · `deepseek-v4-flash-0731`: `text` → `text` `POST /v1/chat/completions` · `deepseek-v4-flash-0731`: `text` → `text` `POST /v1/chat/completions` · `deepseek/deepseek-v4-flash-0731`: `text` → `text` `POST /v1/messages` · `deepseek/deepseek-v4-flash-0731`: `text` → `json`, `sse` `POST /v1/chat/completions` · `~deepseek/deepseek-v4-flash-latest`: `text` → `text` `POST /v1/messages` · `~deepseek/deepseek-v4-flash-latest`: `text` → `json`, `sse`

באילו שדות הבקשה משתמשת?

`POST /v1/messages` · `deepseek-v4-flash-0731`: `model`, `messages`, `system`, `max_tokens`, `stream`, `metadata` `POST /v1/responses` · `deepseek-v4-flash-0731`: `model`, `input`, `instructions`, `stream` `POST /v1/chat/completions` · `deepseek-v4-flash-0731`: `model`, `messages`, `stream` `POST /v1/chat/completions` · `deepseek/deepseek-v4-flash-0731`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `deepseek/deepseek-v4-flash-0731`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `~deepseek/deepseek-v4-flash-latest`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `~deepseek/deepseek-v4-flash-latest`: `model`, `messages`, `max_tokens`, `stream`

אילו מגבלות חלות?

`POST /v1/messages` · `deepseek-v4-flash-0731`: `ctx`: `1000000`; `max_out`: `393216`; `messages.min_items`: `1`; `max_tokens.minimum`: `1` `POST /v1/responses` · `deepseek-v4-flash-0731`: `ctx`: `1000000`; `max_out`: `393216` `POST /v1/chat/completions` · `deepseek-v4-flash-0731`: `ctx`: `1000000`; `max_out`: `393216`; `messages.min_items`: `1` `POST /v1/chat/completions` · `deepseek/deepseek-v4-flash-0731`: `messages.min_items`: `1` `POST /v1/chat/completions` · `~deepseek/deepseek-v4-flash-latest`: `messages.min_items`: `1`

חברו Ailoot ל- Claude Code, OpenCode, Hermes או ליישום שלכם.

## החברה ופורטפוליו הפרויקטים שלה

החברה ופורטפוליו הפרויקטים שלה: מיליוני לקוחות; מכירות בהיקף של מיליארדים מדי חודש.

## קנו אסימונים בהנחה.

הנחת מנוי לעבודה קבועה. קודי הנחה עד 50% על רכישת אסימונים.

מנוי

בחרו מסלול עם הנחה לבקשות הקבועות שלכם.

קוד הנחה עד 50%

הזינו קוד ברכישה. המחיר יחושב מחדש לפי המבצע הפעיל.

הוצאות בהיסטוריה

המודל, האסימונים והסכום נשמרים לכל בקשה.

[בחירת מנוי](https://ailoot.ai/docs/he/billing/subscriptions/) · [מחירי מודלים](https://ailoot.ai/models/he/)

## חברו API למוצר שאתם מוכרים.

SaaS, יישומים ובוטים לפי ההצעה והסכם הרישוי של Ailoot. למכירה מחדש בקשו רישיון משווק.

יישום מסחרי

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

רישיון למכירה מחדש

שלחו תיאור פרויקט ואופן מתן גישה. בקשו תנאי שימוש ומכירה מחדש בכתב.

מסמכים באתר

ההצעה, הסכם הרישוי ומדיניות עיבוד הנתונים זמינים לפני החיבור.

[בקשת רישיון למכירה מחדש](mailto:support@ailoot.ai) · [ההצעה והסכם הרישוי](https://ailoot.ai/legal/offer?lang=he)

## Ailoot · החברה ופורטפוליו הפרויקטים שלה





Ailoot נשענת על ניסיון תפעולי מצטבר, בסיס לקוחות רחב, שירות יציב ובקרה שוטפת של KPI.





החברה ופורטפוליו הפרויקטים שלה: מיליוני לקוחות; מכירות בהיקף של מיליארדים מדי חודש.





Ailoot משתמשת בניסיון התפעולי הזה כדי לספק גישת API ליכולות AI במוצרי לקוחות, בסוכנים, באפליקציות ובאוטומציות.
