Kling: Video O1
Kling VIDEO O1 הוא מודל הווידאו מונחה הייחוס של Kuaishou ליצירת סצנות ולעריכתן באמצעות טקסט, תמונות, רכיבי נושא וקטע מקור. השתמשו בפרופיל היצירה שלו, בן שלוש עד עשר שניות, להמשכיות חזותית, למעברי פריימים מונחים ולשינויים ממוקדים בחומר קיים.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
Kling VIDEO O1 הוא מודל הווידאו המאוחד מונחה הייחוס של Kuaishou. הוא משלב תיאור טקסטואלי עם תמונות, רכיבי נושא מוכנים או סרטון מקור להנחיית סצנות חדשות ושינויים ממוקדים בחומר קיים. הממשק המרכזי שלו הוא בריף חזותי: זהו את חומר הייחוס, תארו את תפקידו וציינו את המראה, הפעולה או השינוי הרצויים בסרטון המתקבל.
שוט חדש יכול להתחיל מטקסט, מתמונת פתיחה או מקבוצת דוגמאות חזותיות. השתמשו בתמונה לקביעת דמות או חפץ, ותארו במילים את הסביבה, הפעולה ונקודת המבט. כאשר כמה דוגמאות תורמות מאפיינים שונים, הקצו את תפקידיהן במפורש. בריף מוצר מקורי יכול לקחת את החפץ מתמונה אחת ואת הסביבה מאחרת, ואז לתאר את תנועת החפץ בתוך אותה סביבה.
הנחיית O1 יכולה לנקוב בתמונות, ברכיבים ובסרטונים באמצעות סמני ייחוס מסוימים, כגון <<<image_1>>> או <<<video_1>>>. שמרו את הסמנים מקושרים לנכס שסופק בפועל והסבירו מה יש לקחת ממנו. מגבלת ההנחיה של היצרן היא 2,500 תווים. הוראה תמציתית המזהה את הנושא והשינוי שימושית יותר מאוסף מונחי סגנון לא קשורים.
לייחוס מבוסס תמונות ללא קלט וידאו, התקציב המשולב המתועד הוא עד שבע תמונות ייחוס ורכיבים מרובי תמונות. עם סרטון ייחוס, תקציב התמונות והרכיבים הוא ארבעה. המגבלות האלה נוגעות לרכיבים מבוססי תמונה; לסוגי רכיבים אחרים יש כללי תאימות נפרדים. בחרו בחומר המספק את מידע המראה או הסצנה החיוני, במקום למלא את התקציב במבטים מיותרים.
קלטי תמונה משתמשים ב־JPG, JPEG או PNG, המסופקים ככתובת נגישה או כנתוני תמונה, עם קבצים של עד 10 MB, ממדים של לפחות 300 פיקסלים ויחס ממדים בין 1:2.5 ל־2.5:1. הכינו נושאים ברורים ושמרו פרטים חשובים בחיתוך. אם המשימה דורשת שדמות או מוצר יישארו מזוהים, ציינו אילו מאפיינים צריכים להישאר ובדקו אותם לאורך הקטע שהושלם.
פריימי התחלה וסיום מתנים מעבר בין גבולות חזותיים. תהליך פריימי הגבול המתועד של O1 דורש פריים התחלה כאשר מסופק פריים סיום, ואינו תומך בבקרת התחלה וסיום עם יותר משתי תמונות במערך. כאשר משתמשים בשני פריימי הגבול, רכיבי נושא נוספים אינם חלק מתצורת O1 ההיא. שמרו משימה נשלטת פריימים נפרדת מעריכת סרטון בסיס שסופק.
לסרטון מקור יכולים להיות שני תפקידים נפרדים. כקטע בסיס, הוא החומר הנערך: הנחו הוספה, הסרה, טיפול סגנוני או שינוי קומפוזיציה מסוימים, וציינו מה צריך להישאר. העריכה עוקבת אחר משך קטע הקלט ואינה משלבת משימת סרטון בסיס עם בקרת פריימי גבול או יצירה מרובת שוטים. כדוגמת מאפיינים, הסרטון מספק תוכן, סגנון או מידע מצלמה לשוט חדש.
הנחיה באמצעות סרטון ייחוס יכולה גם לבקש שוט קודם או עוקב. זהו את קטע המקור ותארו את האירוע הנראה החדש, כגון המשך פעולת הנושא או חשיפת הסביבה שסביבו. כך משתמשים בדוגמה להעברת מידע חזותי; בדקו את החיבור ואת המשכיות הנושא לפני הרכבת המקטע החדש עם החומר המקורי.
פרופיל קלט הווידאו של היצרן מקבל מקור MP4 או MOV אחד, עד 200 MB, עם משך מינימלי של שלוש שניות. פרופיל הקלט המפורט שלו קובע ממדים של 720 עד 2160 פיקסלים וקצבי פריימים של 24 עד 60 fps, עם יחס ממדי קלט בין 1:2.5 ל־2.5:1. תהליך סרטון המקור המתועד מחזיר וידאו ב־24 fps. משך הקטע המותר המדויק תלוי גם בפרופיל המודל שנבחר. טווח היצירה החדשה של O1 הוא שלוש עד עשר שניות, והוא נפרד מטווח משך הקטע של 3.0 Omni המאוחר יותר.
מצבי O1 של היצרן מספקים פלט 720p Standard או 1080p Pro. מסגור שוט חדש תומך בבחירות אופקיות, אנכיות וריבועיות מתועדות בתהליכים המשתמשים בבקרה הזו; עריכת סרטון בסיס עוקבת אחר מסגור המקור. אפשר לשמר או להשמיט את שמע סרטון המקור. תהליך הייחוס והעריכה של O1 צריך להישאר נפרד מפרופיל השמע המקורי והסטוריבורד המותאם של 3.0 Omni המאוחר יותר.
היצירה מפיקה משימה שתוצאתה שהושלמה מכילה את נכס הווידאו ואת משכו בפועל. תיעוד התוצאות של היצרן מציין שסרטונים שנוצרים נמחקים לאחר 30 יום, ולכן שמרו את הקטע שהושלם בהקדם. שמרו לצד התוצאה את נכסי המקור ואת הבריף, ואז בדקו את השינוי המבוקש, השימוש בייחוס וההמשכיות. בעריכה, השוו את האזור המושפע ואת החלקים שצריכים להישאר. בשוט חדש מונחה ייחוס, בדקו שכל נכס סיפק את המידע החזותי המיועד. שמרו את הקטע שהושלם זמין לעריכה או לרצף ההפקה הבאים.
Ailoot Ultra · וידאו POST /v1/videos kwaivgi/kling-video-o1
kwaivgi/kling-video-o1התחלה
Kling VIDEO O1 הוא מודל הווידאו מונחה הייחוס של Kuaishou ליצירת סצנות ולעריכתן באמצעות טקסט, תמונות, רכיבי נושא וקטע מקור. השתמשו בפרופיל היצירה שלו, בן שלוש עד עשר שניות, להמשכיות חזותית, למעברי פריימים מונחים ולשינויים ממוקדים בחומר קיים.
- סוגי קלט נתמכים
- טקסט · תמונות
- תוצאות
- וידאו
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · וידאו POST /v1/videos
- סוגי קלט
text,image- סוגי פלט
video- פורמט פלט
- הבתים המקוריים של MP4; ללא נרמול או המרת קידוד
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות kwaivgi/kling-video-o1 | ברירת מחדל— |
שדהprompt | סוגstring | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
שדהduration | סוגinteger | דרישהחובה | ערכים ומגבלות 5, 10 מינימום: 1 מקסימום: 600 | ברירת מחדל— |
שדהresolution | סוגstring | דרישהרשות | ערכים ומגבלות 720p | ברירת מחדל— |
שדהaspect_ratio | סוגstring | דרישהרשות | ערכים ומגבלות 16:9, 9:16, 1:1 | ברירת מחדל— |
שדהgenerate_audio | סוגboolean | דרישהרשות | ערכים ומגבלות false, true | ברירת מחדל— |
שדהframe_images | סוגarray | דרישהרשות | ערכים ומגבלות מספר פריטים מזערי: 1 מספר פריטים מרבי: 2 תוכן הקלט: מערך אובייקטים של פריימים. כל אובייקט כולל type=image_url, שדה image_url המכיל url, ו־frame_type. יש להשתמש בכתובת URL של תמונה ב־HTTPS ולהגדיר frame_type לערך first_frame או last_frame. כל תפקיד של פריים מופיע פעם אחת לכל היותר. מפתחות מדויקים: type, image_url, frame_type תנאים: המפתחות האלה מתארים כל אובייקט פריים; image_url מכיל רק url. יש להשמיט frame_images בבקשה המבוססת על טקסט בלבד. | ברירת מחדל— |
שדהinput_references | סוגarray | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהsize | סוגstring | דרישהרשות | ערכים ומגבלות 1280x720, 720x1280, 720x720 תבנית: ^[1-9][0-9]*x[1-9][0-9]*$ | ברירת מחדל— |
שדהcallback_url | סוגstring | דרישהרשות | ערכים ומגבלות תבנית: ^https:// | ברירת מחדל— |
שדהsession_id | סוגstring | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהtrace | סוגobject | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהuser | סוגstring | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שילובים של חומרי קלט
מטקסט לווידאו · הנחיה כתובה. · נדרש: model, prompt, duration
יש לספק prompt כטקסט ו־duration בשניות שלמות. יש לבחור רזולוציה נתמכת; יש להוסיף יחס גובה־רוחב או להשתמש בגודל מהרשימה.
model: סוג: string · kwaivgi/kling-video-o1
prompt: סוג: string · מספר בייטים מרבי ב-UTF-8: 10,000 · נדרשים תווים שאינם רווחים: כן
מתמונה לווידאו · הנחיה כתובה ותמונה של הפריים הראשון. · נדרש: model, prompt, duration, frame_images
frame_images הוא מערך. כל אובייקט פריים כולל type, image_url ו־frame_type; השדה image_url מכיל url. יש להגדיר type לערך image_url. יש להשתמש ב־first_frame, עם last_frame אופציונלי. כל תפקיד של פריים מופיע פעם אחת לכל היותר. יש לספק כתובת URL ציבורית של תמונה ב־HTTPS לכל פריים. יש לבחור רזולוציה נתמכת; יש להוסיף יחס גובה־רוחב או להשתמש בגודל מהרשימה.
המפתחות המדויקים: type, image_url, frame_type
model: סוג: string · kwaivgi/kling-video-o1
prompt: סוג: string · מספר בייטים מרבי ב-UTF-8: 10,000 · נדרשים תווים שאינם רווחים: כן
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, prompt, duration |
פרמטרmaterial_types | מפרטtext, image |
פרמטרadditional_properties | מפרטfalse |
פרמטרoptional_controls | מפרטresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
מחזור חיים: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
תעריפים
אופן חישוב החיוב הסופי
התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- לא צוין כאשר נבחר מצב מהיר
- מצב Flex
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפים משוערים להשוואה
מחירים לפי תצורה
התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.
| תצורה | טבלת תעריפים | כמות חזויה | יחידת חיוב | תנאי חיוב | חיוב |
|---|---|---|---|---|---|
| תצורהתעריפי בסיס לטוקנים | טבלת תעריפיםתעריף בסיס | כמות חזויה— | יחידת חיוב— | תנאי חיוב— | חיוב קלט · טוקני קלט · אומדן להשוואה בלבד — / 1K טוקנים פלט · טוקני פלט · אומדן להשוואה בלבד — / 1K טוקנים קלט · קריאה מהמטמון · אומדן להשוואה בלבד — / 1K טוקנים קלט · כתיבה למטמון · אומדן להשוואה בלבד — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה · אומדן להשוואה בלבד — / 1K טוקנים |
| תצורהמחיר וידאו | טבלת תעריפים— | כמות חזויה— | יחידת חיובלכל שניית וידאו | תנאי חיובלא הוגדר תנאי נוסף במפתח תמחור זה. | חיוב פלט · מחיר וידאו · אומדן להשוואה בלבד $0.224 לכל שניית וידאו |
| תצורהעלות יצירה משוערת | טבלת תעריפים— | כמות חזויהאומדן ליצירה אחת | יחידת חיוב— | תנאי חיוב— | חיוב פלט · עלות יצירה משוערת · אומדן להשוואה בלבד $1.12 אומדן לפני היצירה אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה. |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
פרטי תעריף הייחוס
טבלאות הייחוס ברמת המודל אינן משנות את בחירת השיטה, הצעות המחיר או החיובים. החיובים בפועל משתמשים בתעריפי שיטת Ailoot שנבחרה.
הפניות למחירי תצורות וידאו
מחירים לפי תצורה
| תצורה | תנאי חיוב | חיוב |
|---|---|---|
| תצורהמחיר וידאו | תנאי חיובלא הוגדר תנאי נוסף במפתח תמחור זה. | חיוב פלט · מחיר וידאו $0.224 לכל שניית וידאו מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל. |
דוגמאות לבקשות
Ailoot Ultra · וידאו
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":5,"model":"kwaivgi/kling-video-o1","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-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())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
קבלה ושמירה של תוצאות
Ailoot Ultra · וידאו
כתובות חתומות לתוכן שבבעלותכם
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
בדיקת מצב המשימה
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
קריאות תוכן נוספות
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
שמירת כל התוצאות שהושלמו
שמרו כל וידאו שהושלם או קובץ שהוחזר; אחזרו כל נכס מכל URL שהוחזר בפועל.
יש לשמור כל פלט ממשי שבבעלותכם ואת המטא־נתונים המדודים שהוחזרו איתו.
כשצריך לבדוק את התגובה המקורית
503 result_pending_check + originalid + X-Should-Retry:false; אין לשלוח שוב את הבקשה המקורית
שדות התגובה
| שדה | סוג | משמעות |
|---|---|---|
שדהindex | סוגinteger | משמעותמיקום הווידאו הזה ברשימת הפלטים, בספירה המתחילה מאפס. |
שדהcontent_url | סוגstring | משמעותכתובת URL חתומה להורדת הווידאו שהושלם ב־HTTPS. |
שדהsha256 | סוגstring | null | משמעותתקציר SHA-256 של בתי הווידאו המקורי; null אם אינו זמין. |
שדהsize_bytes | סוגinteger | null | משמעותגודל קובץ הווידאו המקורי בבתים; null אם אינו זמין. |
שדהduration_ms | סוגinteger | null | משמעותמשך הווידאו המדוד באלפיות שנייה; null אם אינו זמין. |
שדהwidth | סוגinteger | null | משמעותרוחב הווידאו בפיקסלים; null אם אינו זמין. |
שדהheight | סוגinteger | null | משמעותגובה הווידאו בפיקסלים; null אם אינו זמין. |
שדהvideo_codec | סוגstring | null | משמעותמזהה מקודד הווידאו; null אם לא נרשם. |
שדהhas_audio | סוגboolean | null | משמעותהאם הווידאו מכיל רצועת אודיו; null אם לא נמדד. |
שדהaudio_codec | סוגstring | null | משמעותמזהה מקודד האודיו; null כאשר לא נרשם מזהה. |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה404 · not_found_error | תנאיהגישה לווידאו אינה זמינה, או שמזהה הווידאו הזה לא נמצא. | השלב הבאיש לבדוק את הגישה לווידאו. עבור וידאו קיים, יש להשתמש במזהה הציבורי המקורי שלו ובאותו מפתח API. |
תגובה401 · authentication_error | תנאימפתח ה־API אינו תואם לחשבון המאומת. | השלב הבאיש לבדוק את מפתח ה־API ואת הגישה לחשבון לפני השליחה. |
תגובה400 · invalid_request_error | תנאילא ניתן היה לקרוא את הבקשה, או שאינדקס ההורדה אינו תקף. | השלב הבאיש לתקן את גוף הבקשה. להורדה, יש לבחור אינדקס פלט שהוחזר על ידי המשימה המקורית. |
תגובה422 · price_unavailable | תנאילא ניתן לתמחר את תצורת הווידאו שנבחרה. | השלב הבאיש לבחור תצורת וידאו נתמכת ולהשלים את האפשרויות הנדרשות בה לפני שליחת בקשה מתוקנת. |
תגובה422 · invalid_request_error | תנאיקלט וידאו או משימת המשך מקורית אינם תקפים. | השלב הבאיש להשתמש בקלטי HTTPS תקפים. להמשך, יש להשתמש במזהה הציבורי של הווידאו המקורי שלכם שהושלם, עם אותו מפתח API. |
תגובה402 · billing_error | תנאיהיתרה הזמינה או המגבלות אינן מאפשרות לשריין סכום. | השלב הבאיש לבדוק את היתרה הזמינה ואת המגבלות לפני שליחת בקשה חדשה. |
תגובה503 · server_error | תנאיאימות הווידאו, האחסון או הגישה לשירות אינם זמינים זמנית. | השלב הבאיש להמתין לזמינות השירות. אם כבר יש לכם מזהה וידאו, יש לבדוק את המשימה המקורית הזו במקום ליצור וידאו נוסף. |
תגובה503 · result_pending_check | תנאייש לבדוק את תוצאת הווידאו המקורית ואת החיוב. | השלב הבאיש לשמור את מזהה הווידאו שהוחזר ולבדוק את המשימה הזו. אין לשלוח בקשת יצירה חלופית בזמן הבדיקה. |
תגובה503 · owned_result_unavailable | תנאיהורדת הווידאו הקיים אינה זמינה זמנית. | השלב הבאיש לבדוק את אותה משימת וידאו בהמשך ולהוריד את הפלט הקיים שלה. יצירה חדשה יוצרת פעולה נפרדת. |
תגובה409 · video_not_ready | תנאיתוכן הווידאו לא פורסם. | השלב הבאיש לבדוק את הסטטוס של המשימה המקורית. יש להוריד לאחר שהיא מדווחת completed; אם היא מדווחת failed, יש לפעול לפי ההודעה שלה על בדיקת החיוב. |
כינויים
כינויים למודל
Ailoot Ultra kwaivgi/kling-video-o1
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · Kling: Video O1
- אילו קלטים ותוצאות זמינים?
POST /v1/videos·kwaivgi/kling-video-o1:text,image→video- באילו שדות הבקשה משתמשת?
POST /v1/videos·kwaivgi/kling-video-o1:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- אילו מגבלות חלות?
POST /v1/videos·kwaivgi/kling-video-o1:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1