Model APIs
Whisper-1
שלח קובץ שמע לתמלול או לתרגום לאנגלית, בדוק את המשימה והורד טקסט, JSON או כתוביות.
Whisper-1 ממיר דיבור מוקלט לטקסט. השתמש ב-/v1/audio/transcriptions כדי לשמור על שפת הדיבור או ב-/v1/audio/translations כדי להפיק אנגלית. שניהם מקבלים multipart/form-data עם קובץ שהועלה. SeedRouter מחזיר תחילה מזהה משימה; הורד את התוצאה שנבחרה לאחר השלמתה. זה שונה מתגובה סינכרונית של OpenAI SDK.
Playground ומחירים עדכניים · מדריך לתמלול הראשון · OpenAPI · Markdown
שלח הקלטה
שמור את מפתח ה-API בשרת. אפשר ללקוח ה-HTTP ליצור את מפריד ה-multipart; אל תגדיר ידנית כותרת Content-Type: multipart/form-data ללא מפריד.
curl https://api.seedrouter.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-F model=whisper-1 \
-F [email protected] \
-F language=en \
-F response_format=verbose_json \
-F 'timestamp_granularities[]=word' \
-F 'timestamp_granularities[]=segment'התגובה מאשרת משימה, ולא תמלול שהושלם:
{
"id": "task_example",
"model": "whisper-1",
"status": "processing",
"created_at": 1792376116
}שמור את ערך ה-id שהוחזר בפועל. שלח פעם אחת. ניתוק אינו מוכיח אם הבקשה התקבלה; בדוק את היסטוריית המשימות לפני יצירת בקשה נוספת.
קרא את התוצאה
curl "https://api.seedrouter.ai/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $SEEDROUTER_API_KEY"בדוק שוב כל עוד status הוא processing. משימה שהושלמה מכילה output.url ו-output.format; משימה שנכשלה מכילה error.code ו-error.message. פקיעת זמן ההמתנה לבדיקה אינה מצב סופי של המשימה. רק בעל המשימה יכול לקרוא אותה. הדוגמאות הבאות ממחישות את מבנה התגובה:
{
"id": "task_example",
"model": "whisper-1",
"status": "completed",
"output": {
"format": "verbose_json",
"url": "https://static.seedrouter.ai/media/tasks/task_example/0.json"
}
}הורד את output.url בבקשת GET נפרדת. קרא קובץ JSON כ-JSON ואת שאר הפורמטים כטקסט. תגובות משימה ציבוריות אינן כוללות מחירים או פרטי חשבון.
פרמטרים לתמלול
file ו-model הם שדות חובה. תשעת השדות שלהלן מרכיבים את ממשק הבקשה המשותף, ובהם file, model ו-stream, שהמודל מתעלם ממנו במפורש. התאימות של chunking_strategy עדיין אינה מלאה, כפי שמפורט בהמשך.
| שדה | טיפוס | ברירת מחדל | חוזה |
|---|---|---|---|
file | העלאה בינארית | חובה | קובץ שמע יחיד שאינו ריק, ולא כתובת URL או מחרוזת שם קובץ. ראה מגבלות קבצים. |
model | מחרוזת | חובה | בדיוק whisper-1. |
language | מחרוזת | זיהוי אוטומטי | רמז לשפת הקלט, כגון en. אין רשימת שפות מותרות מקומית. השמט לזיהוי אוטומטי. |
prompt | מחרוזת | מושמט | הקשר, איות או המשך בשפת השמע. אין מגבלת תווים מומצאת; Whisper מתחשב ב-224 הטוקנים האחרונים לפי מפצל הטוקנים שלו. זה אינו פרומפט להוראות כלליות. |
response_format | מחרוזת | json | json, text, srt, verbose_json או vtt. |
temperature | מספר | 0 | הטווח 0–1 כולל הקצוות. אפס מאפשר למודל להתאים טמפרטורה אוטומטית; הוא אינו מבטיח טקסט דטרמיניסטי. |
timestamp_granularities[] | מחרוזת חוזרת | חותמות זמן למקטעים כאשר רלוונטי | word, segment, או שניהם. דורש response_format=verbose_json. גם שם השדה החוזר ללא הסוגריים timestamp_granularities מתקבל. |
chunking_strategy | auto, אובייקט VAD או null | מושמט | שדה בסכמת השמע המשותפת שתחולתו על Whisper טרם הוכרעה. השאר מושמט למסלול המאומת. ערך auto מפורש נכשל בבדיקת התאימות בפועל. |
stream | בוליאני או null | false | Whisper-1 מתעלם ממנו. לא מופק SSE או תמליל חלקי. |
אובייקט VAD כולל שדה חובה type: "server_vad", מספר שלם אופציונלי prefix_padding_ms (ברירת מחדל מתועדת 300), מספר שלם אופציונלי silence_duration_ms (ברירת מחדל מתועדת 200), ומספר אופציונלי threshold בין 0 ל-1 (ברירת מחדל מתועדת 0.5). אין אכיפה של טווח מספרים שלמים שאינו מתועד. אסטרטגיה שהושמטה נשארת מושמטת; ברירות המחדל של האובייקט אינן הופכות את auto לברירת המחדל בבקשה.
לצורך תאימות ל-SDK, אפשר לקודד את אובייקט VAD בחלק JSON יחיד של multipart או בשדות chunking_strategy[type], chunking_strategy[prefix_padding_ms], chunking_strategy[silence_duration_ms] ו-chunking_strategy[threshold]. אין לערבב את שתי צורות הקידוד. קבלת מבני השדות האלה אינה מוכיחה ש-VAD עובד עם המודל הזה.
שדות טקסט אופציונליים מושמטים, ולא מקבלים את מחרוזת ה-multipart המילולית null. שדות לא מוכרים או שאינם חלים על המודל נזרקים. בפרט, diarized_json, בקרות הפניה לדוברים, logprobs ואירועים בזמן אמת אינם יכולות של Whisper-1. שדות סקלריים כפולים אינם תקינים.
מגבלות קבצים
פורמטי השמע המתועדים הם FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV ו-WebM. תקרת ההעלאה הנוכחית היא 26,214,400 בתים (25 MiB). שאלות ותשובות על OpenAI Audio API מציינות גודל בקשה מרבי של 25 MiB להעלאות Whisper-1 הוותיק; השאר את הקבצים מתחת לתקרה כדי להשאיר מקום לשדות multipart. קבצים חייבים להכיל שמע קריא בעל משך חיובי שניתן למדוד. סיומת בלבד אינה מוכיחה שהשמע תקין.
אין מגבלה מקומית נוספת של שעה, דרישה לקצב דגימה קבוע או הגבלה למונו בלבד. גודל הקובץ עדיין עשוי לחייב פיצול של הקלטות ארוכות. בדוק את הגבולות בין ההקלטות המפוצלות כדי למנוע השמטה או שכפול של דיבור.
תרגום לאנגלית
curl https://api.seedrouter.ai/v1/audio/translations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-F model=whisper-1 \
-F [email protected] \
-F response_format=text \
-F temperature=0לתרגום חמישה שדות: file, model, prompt, response_format ו-temperature, עם אותם טיפוסים וגבולות שלעיל. הפרומפט האופציונלי שלו צריך להיות באנגלית. אי אפשר לבחור שפת יעד. language, בקרות חותמות זמן, בקרות חלוקה ושדות אחרים המיועדים לתמלול בלבד נזרקים בנקודת קצה זו. בדיקת תרגום מוצלחת עם קלט באנגלית אינה מוכיחה דיוק בכל שפת מקור.
שדות הקובץ שהורד
| פורמט | תוכן |
|---|---|
json | אובייקט עם text. תמלול עשוי לכלול גם usage: {type: "duration", seconds: number}. |
text | טקסט תמליל רגיל. |
srt | מקטעי כתוביות ממוספרים עם קודי זמן של SRT. |
vtt | כתוביות WebVTT. |
verbose_json | text, language ו-duration בשניות; segments אופציונלי, ובתמלול גם words ו-usage של משך. |
לכל מילה יש word, start ו-end. לכל מקטע יש id, seek, start, end, text, tokens, temperature, avg_logprob, compression_ratio ו-no_speech_prob. start ו-end נמדדים בשניות. מקטעים אינם מזהים דוברים. הקבוע task: "transcribe", שמיועד לתמלול בלבד, עשוי להופיע. קובצי תרגום משמיטים את words ו-usage המיועדים לתמלול בלבד. מדידות השמע וטקסט התמליל אינם משוכתבים כדי לחקות תשובה צפויה.
חיוב
שתי הפעולות משתמשות במשך הקלט שנמדד. לכל הקלטה, יחידות מדידת השמע שוות ל-round(ceil(seconds) × 1000 / 60). הכפל יחידות אלו בתעריף היחידה העדכני; היחידות אינן סופרות את טקסט התמליל. לדוגמה, 15 שניות נותנות 250 יחידות, ואילו 15.1 שניות נותנות 267. הדף וה-Playground קוראים את אותו תעריף עדכני. בקשות שנכשלו אינן מחויבות.
מצב האימות
נבדק ב-19 באוקטובר 2026. בדיקות מקומיות מקצה לקצה השלימו את כל חמשת פורמטי הפלט לתמלול ותרגום ב-verbose_json, כולל הורדת תוצאות בידי בעל המשימה וניכוי מדויק מהחשבון. בקשת תמלול הצליחה להחזיר גם חותמות זמן למילים וגם למקטעים. העלאות FLAC, OGG, M4A, MP4 ו-WAV באורך של פחות משנייה או מספר שניות שאינו שלם עברו בדיקות תאימות נפרדות בפועל.
chunking_strategy=auto מפורש נדחה. שלושה מקרים שנשלחו וכללו WebM, MPEG עם VAD, ו-MPGA עם stream=true לא הצליחו. כישלונות אלו אינם מבהירים איזו מההגדרות המשולבות גרמה לדחייה. הפורמטים והאפשרויות האלה עדיין אינם מאומתים; השירות אינו מחליף בשקט אסטרטגיה שהתבקשה במפורש. בדיקת התרגום השתמשה בקלט באנגלית, ולכן איכות התרגום בין שפות טרם נמדדה. אין לראות בסכמה שמתקבלת הוכחה שכל שילוב עבר בדיקה בפועל.
שגיאות והתאוששות
שילובי קבצים ופרמטרים לא תקינים נדחים לפני יצירת המשימה. שגיאות API מכילות code מספרי ו-message קריא; ראה קודי שגיאה. לאחר הקבלה, בדוק את המצב הסופי של המשימה. אם תוצאת השליחה אינה ודאית, אתר את המשימה הקיימת לפני שליחה נוספת. משימה שנכשלה אינה מחויבת.
מקורות החוזה
- מדריך התמלול של OpenAI
- מדריך התרגום של OpenAI
- מדריך המרת דיבור לטקסט של OpenAI
- מדריך הפרומפטים ל-Whisper של OpenAI
OpenAI הודיעה על תאריך כיבוי של Whisper ב-API שלה ב-26 בפברואר 2027. ההודעה אינה קובעת תאריך כיבוי לשירות הזה. ראה הודעת ההוצאה משימוש של OpenAI.
