tts-1
TTS-1 ממיר טקסט מוכן לשמע מדובר עם קולות לבחירה, מהירות השמעה ופורמטי פלט. OpenAI ממטבת גרסה זו ליצירת דיבור בהשהיה נמוכה יותר, ולכן היא בחירה מעשית להקראות מהירות בתגובתן, לקריינות קצרה ולמסירה בהזרמה של תסריט שכבר נכתב.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
TTS-1 הוא מודל המרת הטקסט לדיבור של OpenAI הממוטב למהירות. הוא מקבל את המילים להקראה ומפיק שמע, ולא תמלול או תשובה כתובה. דוגמאות היצרן כוללות קריינות מאמרים כתובים, הפקת דיבור בכמה שפות והשמעת שמע עם הגעתו. TTS-1 הוא הבחירה בעלת ההשהיה הנמוכה יותר לעומת TTS-1 HD; מודל HD מדגיש איכות פלט. לכן ההחלטה השימושית היא אם השמעה מהירה או פרופיל קריינות באיכות גבוהה יותר חשובים יותר למשימה.
תהליך יצירת הדיבור בנוי סביב המודל, טקסט הקלט והקול שנבחר. התיעוד של OpenAI מגביל את קלט הטקסט ל־4096 תווים, מגבלת תווים ולא חלון הקשר בטוקנים. הכינו את התסריט בפועל לפני הסינתזה: כתבו את המשפטים שהמאזין אמור לשמוע, הבהירו קיצורים והחליטו כיצד יש להקריא שמות, כמויות וכותרות. במאמר ארוך, ארגנו מקטעים כקטעים המובנים באופן עצמאי במקום להתייחס למסמך ארוך כבקשת דיבור אחת.
רשימת הקולות העדכנית של OpenAI המיוחדת ל־TTS-1 היא alloy, ash, coral, echo, fable, onyx, nova, sage ו־shimmer. אלו קולות מוגדרים מראש; הם אינם מלוא קבוצת הקולות של כל מודל דיבור חדש יותר. הקולות ממוטבים לאנגלית, בעוד דיבור רב־לשוני נתמך באמצעות הזנת הקלט בשפה שתוקרא. בחרו קול באמצעות קטע מייצג בעל אותו אוצר מילים וקצב כמו התסריט הסופי. שמרו על הבחירה עקבית בין קטעים קשורים כאשר הרציפות חשובה.
אפשר להזרים שמע במקטעים כך שההשמעה מתחילה לפני סיום יצירת הקובץ כולו. זוהי הזרמה של דיבור שנוצר מטקסט, ולא שיחה מדוברת דו־כיוונית. פורמטי הפלט המתועדים הם MP3, Opus, AAC, FLAC, WAV ו־PCM, כאשר MP3 הוא ברירת המחדל. MP3 ו־AAC מספקים שמע דחוס; Opus מתאים להזרמה ולתקשורת; FLAC הוא ללא אובדן. WAV נמנע מפענוח שמע דחוס, ו־PCM גולמי מכיל דגימות ב־24 kHz, 16 סיביות, בעלות סימן בסדר בתים little-endian, ללא כותרת קובץ. OpenAI ממליצה על WAV או PCM כאשר זמן התגובה בעדיפות.
תיעוד הדיבור מספק הגדרת מהירות של 0.25 עד 4.0, כאשר 1.0 הוא ברירת המחדל. שדה ההוראות הנוסף בשפה טבעית אינו פועל עם TTS-1, ופלט SSE בסגנון אירועים אינו נתמך במודל זה. הבקרות המתועדות שלו הן התסריט, הקול, המהירות ופורמט השמע; אין לייחס לגרסה זו בקרות של מודלים חדשים יותר למבטא, לרגש או ללחישה. בהכנת קטע, בחרו מהירות המשרתת מובנות ואז בדקו את המילים וההפסקות שהופקו, במקום להניח שמספר התווים בתסריט קובע משך מדויק.
מדריך השפות כולל אנגלית, רוסית, אוקראינית, צרפתית, גרמנית, ספרדית, פורטוגזית, איטלקית, ערבית, סינית, יפנית, קוריאנית, הינדי, קזחית ושפות רבות נוספות. הדיבור עוקב אחר שפת הטקסט שסופק. לכן בריף קריינות רב־לשוני מתחיל בתסריט המתורגם ובקהל המיועד; המרת טקסט לדיבור היא שלב מימוש, ולא הוראה לתרגם או לשכתב אותו. להכרזה מעשית הכינו את המסר והשמות המדויקים. לקריינות חינוכית הבהירו גבולות מקטעים והגדרות במילים שייקראו.
תוצר מוגמר יכול להיות הוראה מדוברת קצרה, קטע קריינות או מקטע שמע לעריכה גדולה יותר. בדקו הגייה, שלמות, קצב ואת הפורמט שנבחר באמצעות הפלט בפועל. שמרו יחד את התסריט והשמע כדי שאפשר יהיה למקד תיקונים מאוחרים בקטע המושפע. הנחיות OpenAI דורשות להודיע למאזינים בבירור שהקול נוצר בבינה מלאכותית. גילוי זה שייך לחוויית ההאזנה; הוא אינו הופך את TTS-1 להקלטת קול אנושי ואינו מוסיף למודל בקרות שיבוט קול.
Ailoot Ultra · הקראה POST /v1/audio/speech openai/tts-1
openai/tts-1התחלה
TTS-1 ממיר טקסט מוכן לשמע מדובר עם קולות לבחירה, מהירות השמעה ופורמטי פלט. OpenAI ממטבת גרסה זו ליצירת דיבור בהשהיה נמוכה יותר, ולכן היא בחירה מעשית להקראות מהירות בתגובתן, לקריינות קצרה ולמסירה בהזרמה של תסריט שכבר נכתב.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- שמע
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · הקראה POST /v1/audio/speech
- סוגי קלט
text- סוגי פלט
audio- פורמט פלט
- mp3
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות openai/tts-1 | ברירת מחדל— |
שדהinput | סוגstring | דרישהחובה | ערכים ומגבלות אורך מזערי: 1 אורך מרבי: 4,096 יחידה: תווי Unicode | ברירת מחדל— |
שדהvoice | סוגstring | דרישהחובה | ערכים ומגבלות alloy | ברירת מחדל— |
שילובים של חומרי קלט
text_to_speech · נדרש: input
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, input, voice |
פרמטרvoice_ids | מפרטalloy |
פרמטרmax_input_characters | מפרט4096 |
פרמטרother_options | מפרטfalse |
פרמטרinput | מפרטטקסט UTF-8 מדויק; ספירת תווי Unicode ללא נרמול |
פרמטרmaterial_types | מפרטtext |
מחזור חיים: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · ערך task_id שהוחזר בפועל או רשומה בספריית המדיה
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
יש לבחור קול מדויק מתוך פרופיל המודל הזה.
תווי קלט ושניות אודיו הם מדדי חיוב שונים.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- לא צוין כאשר נבחר מצב מהיר
- מצב Flex
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.
| תצורה | טבלת תעריפים | כמות לחיוב | כמות החיוב | יחידת חיוב | חיוב |
|---|---|---|---|---|---|
| תצורהתעריפי בסיס לטוקנים | טבלת תעריפיםתעריף בסיס | כמות לחיוב— | כמות החיוב— | יחידת חיוב— | חיוב קלט · טוקני קלט — / 1K טוקנים פלט · טוקני פלט — / 1K טוקנים קלט · קריאה מהמטמון — / 1K טוקנים קלט · כתיבה למטמון — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהUltra | טבלת תעריפים— | כמות לחיובכל נקודת קוד של Unicode נספרת כתו אחד, כולל סימני האן. | כמות החיוב— | יחידת חיובלכל 1K תווי קלט | חיוב קלט · תו בקלט $0.03 לכל 1K תווי קלט |
| תצורהלכל בקשה | טבלת תעריפים— | כמות לחיוב— | כמות החיובבקשה אחת | יחידת חיוב— | חיוב קלט $0 לכל בקשה |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · הקראה
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/tts-1", "input": "Good afternoon! This is a short voice take.", "voice": "alloy"}')
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/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
קבלה ושמירה של תוצאות
Ailoot Ultra · הקראה
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
קריאות תוכן נוספות
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
שמרו את התוצאה הבינארית המלאה ואת הכותרות. אם מוחזרים JSON או פלטים מרובים, שמרו כל פריט נתונים והורידו כל נכס מה־URL החתום שלו שהוחזר בפועל.
כשצריך לבדוק את התגובה המקורית
שמרו את operation_id/X-Client-Request-ID המקורי לצורך התאמת רישומים ללא שליחה מחדש; אין נתיב ייעודי לתשאול סטטוס אודיו.
שדות התגובה
| שדה | סוג |
|---|---|
שדהbinary audio | סוגbytes |
שדהresponse headers | סוגheaders |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |
תגובהserver_error | תנאיהתשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה | השלב הבאשמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה. |
כינויים
כינויים למודל
Ailoot Ultra openai/tts-1
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · tts-1
- אילו קלטים ותוצאות זמינים?
POST /v1/audio/speech·openai/tts-1:text→audio- באילו שדות הבקשה משתמשת?
POST /v1/audio/speech·openai/tts-1:model,input,voice- אילו מגבלות חלות?
POST /v1/audio/speech·openai/tts-1:input.maximum_length:4096