Genmo: Mochi 1
Mochi 1 là mô hình tạo video từ văn bản của Genmo, chú trọng hình ảnh chân thực, chuyển động nhìn thấy và tuân thủ prompt cảnh. Chuẩn bị mô tả cảnh quay cụ thể và kiểm tra chuỗi hình hoàn chỉnh về hành động, khuôn hình và tính nhất quán theo thời gian.
Về mô hình
Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.
Mochi 1 là mô hình tạo video từ văn bản của Genmo, biến mô tả cảnh bằng chữ thành hình ảnh chuyển động. Nhà sản xuất nhấn mạnh chuyển động và tuân thủ prompt, với trọng tâm hình ảnh giống ảnh chụp thật. Dùng yêu cầu cảnh quay cụ thể để mô tả chủ thể, bối cảnh và hành động cần nhìn thấy trong chuỗi hình hoàn chỉnh.
Viết hành động thành điều người xem theo dõi được. Bàn tay nhấc quả chanh khỏi bát, xe đạp đi ngang bức tường có nắng hoặc chim đậu xuống cành đều tạo sự kiện rõ ràng với trạng thái mở đầu và kết thúc. Xác định chủ thể chính của cảnh, điều thay đổi trong cảnh quay và chi tiết cần giữ rõ khi chuyển động.
Chọn góc nhìn và môi trường hỗ trợ hành động đó. Cận cảnh có thể nhấn mạnh ngón tay chạm vật thể, còn góc rộng hơn có thể xác lập quan hệ giữa người và địa điểm. Thêm chi tiết vật liệu, ánh sáng và nền khi chúng ảnh hưởng đến kết quả nhìn thấy. Giữ mô tả đủ tập trung để chuyển động quan trọng không phải cạnh tranh với nhiều sự kiện không liên quan.
Bản Mochi 1 được nhà sản xuất công bố ghi nhận tạo video ở độ phân giải gốc 480p và mô tả trọng tâm ảnh chân thực. Lập kế hoạch cho cảnh có chi tiết quyết định vẫn nhìn rõ ở kích thước đó. Hoa văn tinh, khuôn mặt nhỏ ở xa và chữ viết chính xác cần được kiểm tra riêng trong đầu ra thực tế; tổng thể cảnh thuyết phục không xác lập mọi chi tiết nhỏ đều được giữ khi chuyển động.
Genmo nêu méo hoặc biến dạng là vấn đề có thể xảy ra trong chuyển động cực mạnh và lưu ý bản phát hành này ít phù hợp hơn với phong cách hoạt hình. Với yêu cầu nhiều hành động, kiểm tra chủ thể xuyên suốt chuỗi hình, đặc biệt khi nó xoay, đổi hướng hoặc đi sau vật khác. Chọn clip có chuyển động nhìn thấy phù hợp nhất với sự kiện dự kiến, rồi xử lý biến dạng cụ thể trong lần chỉnh sửa sáng tạo tiếp theo.
Bản triển khai tham chiếu của nhà sản xuất cung cấp các thiết lập như seed, số khung hình, số bước suy luận và mức định hướng cùng prompt. Chúng mô tả quy trình mô hình tham chiếu; các thiết lập của một phương thức cụ thể được cung cấp qua dịch vụ được liệt kê cùng phương thức đó. Giữ thiết lập thực tế đã dùng cùng clip kết quả để phép so sánh không phụ thuộc vào giá trị mặc định giả định hoặc tham số từ một bản triển khai khác.
Dùng đoạn phim hoàn chỉnh làm cảnh ý tưởng, thành phần cảnh chân thực hoặc clip nguồn để dựng tiếp. Xem toàn bộ chuỗi hình về thứ tự và sự hoàn thành hành động được yêu cầu, tính liên tục của chủ thể và tính hữu ích của góc nhìn cuối. Khung mở đầu tốt chỉ là một phần của cảnh chuyển động dùng được.
Bảo toàn video thực tế và yêu cầu viết của nó. Khi kết quả lệch mục tiêu, xác định vấn đề là mô tả cảnh, chi tiết chủ thể bị khuất, hành động đột ngột hay lựa chọn khuôn hình không phù hợp. Đổi phần prompt liên quan, giữ những chủ thể và bối cảnh đã tốt. Đối chiếu bản sửa với cùng mục tiêu nhìn thấy, dùng toàn bộ clip thay vì ảnh thu nhỏ để quyết định nó có phục vụ bản dựng dự kiến không.
Ailoot Ultra · Tạo video POST /v1/videos genmo-mochi-v1
genmo-mochi-v1Bắt đầu
Mochi 1 là mô hình tạo video từ văn bản của Genmo, chú trọng hình ảnh chân thực, chuyển động nhìn thấy và tuân thủ prompt cảnh. Chuẩn bị mô tả cảnh quay cụ thể và kiểm tra chuỗi hình hoàn chỉnh về hành động, khuôn hình và tính nhất quán theo thời gian.
- Đầu vào được chấp nhận
- Văn bản
- Kết quả
- Video
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Tạo video POST /v1/videos
- Đầu vào
text- Đầu ra
video
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn genmo-mochi-v1 Điều kiện: Dùng bộ chọn mô hình Ailoot chính xác. | Mặc định— |
Trườngprompt | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn Điều kiện: Mô tả cảnh và chuyển động. | Mặc định— |
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngmodel, prompt |
Tham sốoptional | Hợp đồng |
Tham sốmaterial_types | Hợp đồngtext |
Tham sốconditions | Hợp đồngDùng bộ chọn mô hình Ailoot chính xác., Mô tả cảnh và chuyển động. |
Bí danh phương thức: /v1/videos/generations
Vòng đời: 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}
Bảng giá
Cách tính phí cuối cùng
Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.
Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.
- Chế độ nhanh
- Chưa chỉ định Khi chọn chế độ nhanh
- Chế độ Flex
- Chưa chỉ định Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Mức phí ước tính để so sánh
Giá theo cấu hình
Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.
| Cấu hình | Biểu mức phí | Số lượng dự báo | Lượng dùng để tính phí | Phí |
|---|---|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Số lượng dự báo— | Lượng dùng để tính phí— | Phí Đầu vào · Token đầu vào · Ước tính chỉ để so sánh — / 1K token Đầu ra · Token đầu ra · Ước tính chỉ để so sánh — / 1K token Đầu vào · Đọc bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token Đầu vào · Ghi bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ · Ước tính chỉ để so sánh — / 1K token |
| Cấu hìnhMỗi yêu cầu | Biểu mức phí— | Số lượng dự báo— | Lượng dùng để tính phímột yêu cầu | Phí Đầu vào · Ước tính chỉ để so sánh $1 mỗi yêu cầu |
| Cấu hìnhChi phí tạo ước tính | Biểu mức phí— | Số lượng dự báoước tính cho một lần tạo | Lượng dùng để tính phí— | Phí Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh $1 ước tính trước khi tạo Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất. |
Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · Tạo video
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
Nhận và lưu kết quả
Ailoot Ultra · Tạo video
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}
Lưu tất cả kết quả đã hoàn tất
Lưu mọi video đã hoàn tất hoặc tệp trả về; truy xuất từng URL tài nguyên thực tế được trả về.
Giữ lại toàn bộ phản hồi và tiêu đề, các mã định danh gốc, mọi đầu ra thực tế và tất cả trường mức sử dụng/hạch toán. Lưu từng tài sản duy nhất thuộc quyền sở hữu và giữ lại mọi vai trò tham chiếu đến tài sản đó.
Nếu cần kiểm tra phản hồi gốc
Giữ lại id tác vụ hoặc thao tác công khai được trả về và tất cả tiêu đề. Chỉ đọc tác vụ ban đầu; unknown hoặc result_pending_check không cho phép tạo thêm tác vụ.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngid | Loạistring |
Trườngpolling_url | Loạistring |
Trườngprovider_task_id | Loạistring |
Trườngtask_id | Loạistring |
Trườngstatus | Loạistring |
Trườngvideo_url | Loạistring |
Bí danh
Bí danh mô hình
Ailoot Ultra genmo-mochi-v1
Bí danh đường dẫn phương thức
/v1/videos/generations
ID gọi liên quan
FAQ · Genmo: Mochi 1
- Có những đầu vào và kết quả nào?
POST /v1/videos·genmo-mochi-v1:text→video- Yêu cầu sử dụng những trường nào?
POST /v1/videos·genmo-mochi-v1:model,prompt