Source: https://ailoot.ai/models/vi/kling-v1/
Canonical: https://ailoot.ai/models/vi/kling-v1/
Language: vi

# kling-v1

[Markdown](https://ailoot.ai/models/vi/kling-v1/index.md) · [JSON](https://ailoot.ai/models/vi/kling-v1/facts.json)

## [kling-v1](https://ailoot.ai/models/vi/kling-v1/)

kling-v1 tạo video từ câu lệnh văn bản với chế độ std hoặc pro được chọn rõ ràng. Đặt thời lượng cảnh quay và các thiết lập câu lệnh, rồi lấy mọi kết quả video hoàn tất qua Ailoot.

- [**Ailoot Ultra · Video** `POST /v1/videos` `kling-v1`](https://ailoot.ai/models/vi/kling-v1/#method-0)

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.

Dùng kling-v1 với model, prompt và mode tại /v1/videos. Chọn std hoặc pro và mô tả cảnh quay bằng prompt tối đa 500 ký tự. Yêu cầu có thời lượng năm hoặc mười giây, aspect\_ratio, model\_name, cfg\_scale và negative\_prompt tối đa 200 ký tự.

Dùng dung lượng prompt có sẵn cho chủ thể chính, một hành động, bối cảnh và chỉ dẫn máy quay. Đặt các chi tiết quyết định bố cục trước câu chữ trang trí. Thiết lập cfg\_scale nhận giá trị từ 0 đến 1; giữ thiết lập đã chọn cùng bản mô tả khi so sánh với biến thể tiếp theo.

Theo dõi ID yêu cầu gốc thay vì tạo thao tác thứ hai để kiểm tra tiến độ. Kết quả sử dụng data.task\_status và data.task\_result.videos\[\].url, với succeed đánh dấu hoàn tất. Lưu mọi video hoàn tất cùng toàn bộ phản hồi, rồi xem hết cảnh quay để đối chiếu với prompt.

**Ailoot Ultra · Video** `POST /v1/videos` `kling-v1`

[`kling-v1`](https://ailoot.ai/models/vi/#m=kling-v1&route=Ultra&caller=kling-v1&fmt=videos)

Khác /`kling-v1`

### Bắt đầu

kling-v1 tạo video từ câu lệnh văn bản với chế độ std hoặc pro được chọn rõ ràng. Đặt thời lượng cảnh quay và các thiết lập câu lệnh, rồi lấy mọi kết quả video hoàn tất qua Ailoot.

Đầ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 · 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ường`model` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn kling-v1 Điều kiện: Dùng chính xác bộ chọn định tuyến Ailoot này. | Mặc định— |
| Trường`prompt` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn Độ dài tối đa: 500 Điều kiện: | Mặc định— |
| Trường`mode` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn std, pro Điều kiện: | Mặc định— |
| Trường`model_name` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: Tùy chọn ghi đè thiết lập gốc của mô hình. Bỏ qua để tự động dùng mô hình đã chọn; giá trị được chỉ định rõ sẽ được giữ nguyên. | Mặc định— |
| Trường`cfg_scale` | Loại`number` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tối thiểu: 0 Tối đa: 1 Điều kiện: | Mặc định— |
| Trường`aspect_ratio` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: | Mặc định— |
| Trường`negative_prompt` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Độ dài tối đa: 200 Điều kiện: | Mặc định— |
| Trường`duration` | Loại`integer` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn 5, 10 Điều kiện: | 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, mode |
| Tham số`optional` | Hợp đồngmodel\_name, cfg\_scale, aspect\_ratio, negative\_prompt, duration |
| Tham số`material_types` | Hợp đồngtext |
| Tham số`conditions` | Hợp đồngDùng chính xác bộ chọn định tuyến Ailoot này., Tùy chọn ghi đè thiết lập gốc của mô hình. Bỏ qua để tự động dùng mô hình đã chọn; giá trị được chỉ định rõ sẽ được giữ nguyên. |

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 | 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— | 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ì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 | Phí Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh **$6** ướ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 →](https://ailoot.ai/docs/vi/billing/reserve/)

### Ví dụ yêu cầu

#### Ailoot Ultra · Video

curl · chỉ tạo một lần và giữ lại kết quả đầy đủĐọc tác vụ gốcLưu từng tài nguyên đã hoàn tất thuộc quyền sở hữu của bạn

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v1", "prompt": "A happy holiday scene at the beach.", "mode": "pro"}')

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/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
```

```bash
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
```

```bash
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 · Video

- `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}`

##### 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ường`id` | Loạistring |
| Trường`polling_url` | Loạistring |
| Trường`provider_task_id` | Loạistring |
| Trường`data.task_id` | Loạistring |
| Trường`data.task_status` | Loạistring |
| Trường`data.task_result.videos[].url` | Loạistring |

Lỗi và bước tiếp theo

| Phản hồi | Điều kiện | Bước tiếp theo |
| --- | --- | --- |
| Phản hồi400 · `invalid_request_error` | Điều kiệnTrường bắt buộc, bộ chọn mô hình, kiểu dữ liệu hoặc cách biểu diễn đầu vào không hợp lệ. | Bước tiếp theoXem chi tiết kết quả kiểm tra tính hợp lệ được trả về trước khi chuẩn bị một yêu cầu riêng. |
| Phản hồi`` | Điều kiệnYêu cầu hoặc kết quả gốc chưa xác định hoặc cần kiểm tra. | Bước tiếp theoGiữ nguyên các mã định danh và trường tiêu đề gốc; chỉ đọc các bản ghi trạng thái/thư viện được hỗ trợ. Không gửi lại yêu cầu tạo. |

### Bí danh

#### Bí danh mô hình

**Ailoot Ultra** [`kling-v1`](https://ailoot.ai/models/vi/#m=kling-v1&route=Ultra&caller=kling-v1&fmt=videos)

#### Bí danh đường dẫn phương thức

`/v1/videos/generations`

#### ID gọi liên quan

[`kling-v1`](https://ailoot.ai/models/vi/#m=kling-v1&route=Ultra&caller=kling-v1&fmt=videos)

FAQ · kling-v1

Có những đầu vào và kết quả nào?

`POST /v1/videos` · `kling-v1`: `text` → `video`

Yêu cầu sử dụng những trường nào?

`POST /v1/videos` · `kling-v1`: `model`, `prompt`, `mode`, `model_name`, `cfg_scale`, `aspect_ratio`, `negative_prompt`, `duration`

Áp dụng những giới hạn nào?

`POST /v1/videos` · `kling-v1`: `prompt.maximum_length`: `500`; `cfg_scale.minimum`: `0`; `cfg_scale.maximum`: `1`; `negative_prompt.maximum_length`: `200`

Kết nối Ailoot với Claude Code, OpenCode, Hermes hoặc ứng dụng của bạn.

## Công ty và danh mục dự án của công ty

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

## Mua token với giá ưu đãi.

Ưu đãi thuê bao cho nhu cầu thường xuyên. Mã khuyến mãi giảm đến 50% khi mua token.

Thuê bao

Chọn gói ưu đãi cho các yêu cầu thường xuyên của bạn.

Mã giảm đến 50%

Nhập mã khi mua. Giá được tính lại theo chương trình đang áp dụng.

Chi phí trong lịch sử

Mô hình, token và số tiền được lưu cho mỗi yêu cầu.

[Chọn gói thuê bao](https://ailoot.ai/docs/vi/billing/subscriptions/) · [Xem giá mô hình](https://ailoot.ai/models/vi/)

## Kết nối API vào sản phẩm bạn đang bán.

SaaS, ứng dụng và bot — theo đề nghị giao kết chính thức và thỏa thuận cấp phép Ailoot. Muốn bán lại, hãy yêu cầu giấy phép bán lại.

Ứng dụng thương mại

Tích hợp tạo văn bản, ảnh, video và âm thanh vào các tính năng trả phí của dịch vụ.

Giấy phép bán lại

Gửi mô tả dự án và cách cung cấp quyền truy cập. Yêu cầu điều khoản sử dụng và bán lại bằng văn bản.

Tài liệu trên website

Đề nghị giao kết, thỏa thuận cấp phép và chính sách xử lý dữ liệu có sẵn trước khi kết nối.

[Yêu cầu giấy phép bán lại](mailto:support@ailoot.ai) · [Đề nghị giao kết và thỏa thuận cấp phép](https://ailoot.ai/legal/offer?lang=vi)

## Ailoot · Công ty và danh mục dự án của công ty





Ailoot dựa trên kinh nghiệm vận hành tích lũy, cơ sở khách hàng lớn, dịch vụ ổn định và việc kiểm soát KPI liên tục.





Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.





Ailoot áp dụng kinh nghiệm vận hành này để cung cấp quyền truy cập API vào các tính năng AI trong sản phẩm của khách hàng, tác tử, ứng dụng và quy trình tự động hóa.
