Genmo: Mochi 1
Mochi 1 הוא מודל הטקסט-לווידאו של Genmo, המתמקד בדימויים מציאותיים, בתנועה נראית ובציות לפרומפט של סצנה. הכינו תיאור שוט מוחשי ובדקו את הרצף המוגמר מבחינת פעולה, מסגור ועקביות לאורך הזמן.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
Mochi 1 הוא מודל הטקסט-לווידאו של Genmo להפיכת תיאור סצנה כתוב לדימויים בתנועה. היצרן מדגיש תנועה וציות לפרומפט, עם מיקוד חזותי בתוכן פוטוריאליסטי. השתמשו בתיאור שוט מוחשי כדי לתאר את הנושא, הסביבה והפעולה שצריכים להיראות ברצף המוגמר.
כתבו את הפעולה כדבר שהצופה יכול לעקוב אחריו. יד המרימה לימון מקערה, אופניים החולפים ליד קיר מואר בשמש או ציפור הנוחתת על ענף מעניקים כל אחד אירוע ברור עם מצב פתיחה ומצב סיום. ציינו איזה נושא מוביל את הסצנה, מה משתנה במהלך השוט ואיזה פרט צריך להישאר ברור בזמן התנועה.
בחרו את נקודת המבט והסביבה כך שיתמכו בפעולה הזאת. מבט מקרוב יכול להדגיש אצבעות הנוגעות באובייקט, ואילו מבט רחב יותר יכול לבסס את הקשר בין אדם למיקום. כללו פרטי חומר, תאורה ורקע כשהם משפיעים על התוצאה הנראית. השאירו את התיאור ממוקד מספיק כדי שהתנועה החשובה לא תתחרה בכמה אירועים לא קשורים.
המהדורה של Mochi 1 שפרסם היצרן מתעדת יצירת וידאו מובנית ב-480p ומתארת התמקדות בפוטוריאליזם. תכננו סצנה שהפרטים המכריעים בה נשארים ברורים בקנה המידה הזה. דפוסים חזותיים עדינים, פנים קטנות ומרוחקות ואותיות מדויקות דורשות בדיקה נפרדת בפלט בפועל; סצנה כוללת משכנעת אינה מוכיחה שכל מאפיין קטן נשמר לאורך התנועה.
Genmo מזהה עיקום או עיוות כבעיה אפשרית בתנועה קיצונית ומציינת שהמהדורה מתאימה פחות לסגנונות אנימציה. בתיאור עתיר פעולה, בדקו את הנושא לאורך כל הרצף, במיוחד כשהוא מסתובב, משנה כיוון או עובר מאחורי אובייקט אחר. בחרו בקליפ שהתנועה הנראית שלו מתאימה בצורה הטובה ביותר לאירוע המיועד, ולאחר מכן התמקדו בעיוות מסוים בתיקון היצירתי הבא.
מימוש הייחוס של היצרן חושף בקרות כגון seed, מספר פריימים, צעדי הסקה והכוונה, לצד הפרומפט. אלה מתארים את תהליך העבודה של מודל הייחוס; הבקרות שמספקת שיטה מתארחת מסוימת מפורטות לצד אותה שיטה. שמרו את ההגדרות ששימשו בפועל לצד הקליפ שנוצר, כדי שהשוואה לא תסתמך על ברירת מחדל משוערת או על פרמטר ממימוש אחר.
השתמשו בחומר המצולם שהושלם כשוט להמחשת רעיון, כרכיב סצנה מציאותי או כקליפ מקור לעריכה נוספת. צפו ברצף כולו כדי לבדוק את הסדר וההשלמה של הפעולה המבוקשת, את המשכיות הנושא ואת התועלת של המבט הסופי. פריים פתיחה מוצלח הוא רק חלק אחד משוט בתנועה שאפשר להשתמש בו.
שמרו את הווידאו בפועל ואת התיאור הכתוב שלו. כשהתוצאה מחמיצה את המטרה, זהו אם הבעיה היא תיאור הסצנה, פרט מוסתר של הנושא, פעולה פתאומית או בחירת מסגור לא מתאימה. שנו את החלק הרלוונטי בפרומפט תוך שמירת הנושא והסביבה המוצלחים. השוו את התיקון לאותה מטרה חזותית, באמצעות הקליפ המלא ולא תמונה ממוזערת, כדי להחליט אם הוא משרת את העריכה המיועדת.
Ailoot Ultra · וידאו POST /v1/videos genmo-mochi-v1
genmo-mochi-v1התחלה
Mochi 1 הוא מודל הטקסט-לווידאו של Genmo, המתמקד בדימויים מציאותיים, בתנועה נראית ובציות לפרומפט של סצנה. הכינו תיאור שוט מוחשי ובדקו את הרצף המוגמר מבחינת פעולה, מסגור ועקביות לאורך הזמן.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- וידאו
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · וידאו POST /v1/videos
- סוגי קלט
text- סוגי פלט
video
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות genmo-mochi-v1 תנאים: יש להשתמש בבורר המודלים המדויק של Ailoot. | ברירת מחדל— |
שדהprompt | סוגstring | דרישהחובה | ערכים ומגבלות תנאים: תארו את הסצנה ואת התנועה. | ברירת מחדל— |
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, prompt |
פרמטרoptional | מפרט |
פרמטרmaterial_types | מפרטtext |
פרמטרconditions | מפרטיש להשתמש בבורר המודלים המדויק של Ailoot., תארו את הסצנה ואת התנועה. |
כינויים לשיטה: /v1/videos/generations
מחזור חיים: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
תעריפים
אופן חישוב החיוב הסופי
התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- לא צוין כאשר נבחר מצב מהיר
- מצב Flex
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפים משוערים להשוואה
מחירים לפי תצורה
התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.
| תצורה | טבלת תעריפים | כמות חזויה | כמות החיוב | חיוב |
|---|---|---|---|---|
| תצורהתעריפי בסיס לטוקנים | טבלת תעריפיםתעריף בסיס | כמות חזויה— | כמות החיוב— | חיוב קלט · טוקני קלט · אומדן להשוואה בלבד — / 1K טוקנים פלט · טוקני פלט · אומדן להשוואה בלבד — / 1K טוקנים קלט · קריאה מהמטמון · אומדן להשוואה בלבד — / 1K טוקנים קלט · כתיבה למטמון · אומדן להשוואה בלבד — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה · אומדן להשוואה בלבד — / 1K טוקנים |
| תצורהלכל בקשה | טבלת תעריפים— | כמות חזויה— | כמות החיובבקשה אחת | חיוב קלט · אומדן להשוואה בלבד $1 לכל בקשה |
| תצורהעלות יצירה משוערת | טבלת תעריפים— | כמות חזויהאומדן ליצירה אחת | כמות החיוב— | חיוב פלט · עלות יצירה משוערת · אומדן להשוואה בלבד $1 אומדן לפני היצירה אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה. |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · וידאו
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "genmo-mochi-v1",
"prompt": "A cat is walking on grass."
}
JSON
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
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
קבלה ושמירה של תוצאות
Ailoot Ultra · וידאו
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
שמירת כל התוצאות שהושלמו
שמרו כל וידאו שהושלם או קובץ שהוחזר; אחזרו כל נכס מכל URL שהוחזר בפועל.
יש לשמור את התגובה המלאה ואת הכותרות, המזהים המקוריים, כל פלט ממשי ואת כל שדות השימוש והחיוב. יש לשמור כל נכס ייחודי שבבעלותכם ואת כל התפקידים המפנים אליו.
כשצריך לבדוק את התגובה המקורית
יש לשמור את מזהה המשימה הציבורי או מזהה הפעולה שהוחזרו ואת כל הכותרות. יש לקרוא רק את המשימה המקורית; unknown או result_pending_check אינם מתירים יצירה נוספת.
שדות התגובה
| שדה | סוג |
|---|---|
שדהid | סוגstring |
שדהpolling_url | סוגstring |
שדהprovider_task_id | סוגstring |
שדהtask_id | סוגstring |
שדהstatus | סוגstring |
שדהvideo_url | סוגstring |
כינויים
כינויים למודל
Ailoot Ultra genmo-mochi-v1
כינויים לנתיבי שיטות
/v1/videos/generations
מזהי מודלים קשורים IDs
FAQ · Genmo: Mochi 1
- אילו קלטים ותוצאות זמינים?
POST /v1/videos·genmo-mochi-v1:text→video- באילו שדות הבקשה משתמשת?
POST /v1/videos·genmo-mochi-v1:model,prompt