Source: https://ailoot.ai/models/vi/openai-gpt-6-luna-u003a-batch/
Canonical: https://ailoot.ai/models/vi/openai-gpt-6-luna-u003a-batch/
Language: vi

# OpenAI: GPT-6 Luna (batch)

[Markdown](https://ailoot.ai/models/vi/openai-gpt-6-luna-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/vi/openai-gpt-6-luna-u003a-batch/facts.json)

## [OpenAI: GPT-6 Luna (batch)](https://ailoot.ai/models/vi/openai-gpt-6-luna-u003a-batch/)

GPT-6 Luna là mô hình suy luận có trọng tâm của OpenAI dành cho nhiệm vụ lặp lại với khối lượng lớn. Văn bản và hình ảnh có thể hỗ trợ phân loại, trích xuất, trợ giúp và công việc có công cụ hỗ trợ, với ngữ cảnh 1,050,000 token, đầu ra văn bản có cấu trúc và tùy chọn mức không suy luận.

- [**Ailoot Ultra · Xử lý hàng loạt** `POST /v1/batches` `openai/gpt-6-luna:batch`](https://ailoot.ai/models/vi/openai-gpt-6-luna-u003a-batch/#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.

GPT-6 Luna là mô hình có trọng tâm của OpenAI dành cho nhiệm vụ lặp lại với khối lượng lớn. Mô hình nhận văn bản, hình ảnh và tạo văn bản, phù hợp với các thao tác đã xác định như phân loại, trích xuất, viết lại, câu hỏi dựa trên hình ảnh và từng bước trong quy trình trợ lý. Luna giữ hồ sơ riêng trong GPT-6, tách biệt với vai trò lập trình phức tạp của Sol, công việc khó nhất của Astra và thiết lập thực thi Pro của Luna.

#### Xác định thao tác có thể lặp lại

Đặt kết quả rõ ràng cho mỗi nhiệm vụ: danh mục, bản ghi nhỏ, lời giải thích hoặc đoạn văn đã sửa. Với phân loại, cung cấp ý nghĩa các danh mục và quy ước cho những mục không thuộc danh mục nào. Với trích xuất, xác định trường, đơn vị và cách xử lý thông tin không có. Một đề bài hữu ích là: “Xác định vấn đề chính của người dùng, chọn một trong các danh mục này và trả về câu làm cơ sở cho lựa chọn.”

Với câu trả lời hỗ trợ, cung cấp câu hỏi và tài liệu nguồn liên quan đã được duyệt, rồi xác định ngôn ngữ trả lời và các chi tiết cần giữ. Với hình ảnh, giữ các nhãn nhìn thấy được và cho mô hình biết câu hỏi liên quan đến điều gì. Tách lời văn được trích xuất khỏi phần diễn giải để có thể kiểm tra bản ghi kết quả so với đầu vào.

#### Mức suy luận và định dạng đầu ra

Nhà sản xuất hỗ trợ các mức suy luận none, low, medium, high, xhigh và max; mặc định là medium. None cho phép thực hiện nhiệm vụ không cần suy luận trung gian, còn mức cao hơn có thể phát triển phân tích cho câu hỏi phức tạp hơn. Mức suy luận và chế độ thực thi tiêu chuẩn hoặc Pro là các lựa chọn độc lập. Ở mọi mức suy luận vẫn cần một hợp đồng đầu ra có phạm vi chặt chẽ.

Structured Outputs có thể ràng buộc một bản ghi đã xác định, còn văn bản thông thường có thể truyền đạt câu trả lời hoặc lời giải thích ngắn. Xác định ý nghĩa trường và quy ước cho giá trị thiếu. Định dạng hợp lệ không chứng minh rằng giá trị được trích xuất có trong nguồn, nên cần rà soát cả nội dung lẫn cấu trúc.

#### Ngữ cảnh và kiến thức

Thẻ mô hình liệt kê ngữ cảnh 1,050,000 token, tối đa 922,000 token đầu vào và tối đa 128,000 token đầu ra. Mốc kiến thức là ngày 18 tháng Năm năm 2026. Tài liệu nguồn, hội thoại, suy luận và câu trả lời hiển thị cần có đủ chỗ cùng nhau. Với công việc lặp lại, giữ các tiêu chí và nhãn nguồn quan trọng thay vì để lịch sử không liên quan làm lu mờ thao tác.

#### Công cụ và kết quả của ứng dụng

OpenAI tài liệu hóa Responses cho công cụ tích hợp và gọi hàm. Chat Completions chỉ hỗ trợ gọi hàm cho mô hình này khi mức suy luận là none. Danh sách công cụ của nhà sản xuất bao gồm tìm kiếm web và tệp, công cụ tạo hình ảnh, trình thông dịch mã, công cụ shell và áp dụng bản vá, kỹ năng, thao tác máy tính, kết nối MCP và tìm kiếm công cụ. Đầu ra của chính Luna là văn bản; hình ảnh do công cụ tạo hoặc hành động đã thực thi là các kết quả riêng.

Ứng dụng thực hiện thao tác được chọn và trả về quan sát cho bước mô hình tiếp theo. Tra cứu sản phẩm có thể cung cấp trường còn thiếu trước khi soạn câu trả lời; nhiệm vụ trích xuất có thể dùng đoạn trích thực sự đã lấy được. Hướng dẫn GPT-6 cũng mô tả khả năng công cụ hoạt động bất đồng bộ, điều chỉnh chỉ dẫn và quản lý ngữ cảnh ở cấp họ mô hình.

Kết quả cuối cùng hữu ích là câu trả lời hoặc bản ghi có trọng tâm, liên kết với bằng chứng đã cung cấp. Kiểm tra các giá trị, giữ thuật ngữ bắt buộc và gắn câu hỏi về nguồn hiện tại với tài liệu có thẩm quyền hoặc quan sát công cụ thực tế. Vai trò của Luna là hoàn thành thao tác đã xác định, chứ không biến một tập nguồn lớn thành nhiệm vụ chưa được xác định.

**Ailoot Ultra · Xử lý hàng loạt** `POST /v1/batches` `openai/gpt-6-luna:batch`

[`openai/gpt-6-luna:batch`](https://ailoot.ai/models/vi/#m=openai%2Fgpt-6-luna%3Abatch&route=Ultra&caller=openai%2Fgpt-6-luna%3Abatch&fmt=batches)

OpenAI /`openai/gpt-6-luna:batch`

### Bắt đầu

GPT-6 Luna là mô hình suy luận có trọng tâm của OpenAI dành cho nhiệm vụ lặp lại với khối lượng lớn. Văn bản và hình ảnh có thể hỗ trợ phân loại, trích xuất, trợ giúp và công việc có công cụ hỗ trợ, với ngữ cảnh 1,050,000 token, đầu ra văn bản có cấu trúc và tùy chọn mức không suy luận.

Đầu vào được chấp nhận

Văn bản

Kết quả

Văn bản

### Có trên Ailoot · đầu vào & phương thức

**Ailoot Ultra · Xử lý hàng loạt** `POST /v1/batches`

Đầu vào

`text`

Đầu ra

`text`

Định dạng đầu ra

JSON nội tuyến tại results\[\].response.body

| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
| --- | --- | --- | --- | --- |
| Trường`endpoint` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn /v1/chat/completions | Mặc định— |
| Trường`model` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn openai/gpt-6-luna:batch | Mặc định— |
| Trường`requests` | Loại`batch_item[]` | Yêu cầuBắt buộc | Giá trị & giới hạn Số mục tối thiểu: 1 | Mặc định— |
| Trường`requests[].custom_id` | Loại`string` | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`requests[].body.messages` | Loại`message[]` | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`completion_window` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn 24h | Mặc định— |
| Trường`provider` | Loại`object\|null` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc định— |
| Trường`requests[].body.model` | Loại`string` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn openai/gpt-6-luna:batch, openai/gpt-6-luna | Mặc định— |
| Trường`provider.only` | Loại`string[]` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn openai | Mặc định— |
| Trường`provider.allow_fallbacks` | Loại`boolean\|null` | Yêu cầuKhông bắt buộc | Giá trị & giới hạn false, null | 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 đồngendpoint, model, requests |
| Tham số`material_types` | Hợp đồngtext |
| Tham số`representation` | Hợp đồngrequests\[\] nội tuyến; mỗi phần tử có custom\_id và body |
| Tham số`request_endpoint_profile` | Hợp đồng/v1/chat/completions |
| Tham số`file_material` | Hợp đồngBên gọi có thể đọc dữ liệu JSONL UTF-8 thực tế trên máy cục bộ vào requests\[\]. Không sử dụng mục đích tải lên, input\_file\_id hay tham chiếu tệp. Nếu thiếu tài liệu của khách hàng hoặc tài liệu rỗng, dừng khâu chuẩn bị trước POST. |
| Tham số`serialization_order` | Hợp đồngendpoint, model, provider (nếu được cung cấp), completion\_window (nếu được cung cấp), requests ở cuối |
| Tham số`optional_controls` | Hợp đồngprovider.only, provider.allow\_fallbacks, completion\_window |
| Tham số`schema_scope` | Hợp đồngPhần thân yêu cầu Chat Completions dạng văn bản trong cấu trúc Batch nội tuyến được mô tả trong tài liệu. |

Vòng đời: `asynchronous`

`GET /v1/batches/{operation_id}` · response.id thực tế từ phản hồi tạo gốc; cùng người dùng/khóa/nhóm

### Bảng giá

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

Giá lưu đệm tường minh

Chưa bật Khi yêu cầu lưu đệm tường minh

#### Mức phí Ailoot

#### 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í | Token ngữ cảnh, lớn hơn | Token ngữ cảnh, tối đa và bao gồm | Phí |
| --- | --- | --- | --- | --- |
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Token ngữ cảnh, lớn hơn— | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào **$0.0001** / 1K token Đầu ra · Token đầu ra **$0.0005** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0.00001** / 1K token Đầu vào · Ghi bộ nhớ đệm **$0.000125** / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ **—** / 1K token |
| Cấu hìnhBậc 1 theo độ dài yêu cầu | Biểu mức phí— | Token ngữ cảnh, lớn hơn0 | Token ngữ cảnh, tối đa và bao gồm272.000 | Phí Đầu vào · Token đầu vào **$0.0001** / 1K token Đầu ra · Token đầu ra **$0.0005** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0.00001** / 1K token Đầu vào · Ghi bộ nhớ đệm **$0.000125** / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ **—** / 1K token |
| Cấu hìnhBậc 2 theo độ dài yêu cầu | Biểu mức phí— | Token ngữ cảnh, lớn hơn272.000 | Token ngữ cảnh, tối đa và bao gồmKhông có giới hạn trên | Phí Đầu vào · Token đầu vào **$0.0002** / 1K token Đầu ra · Token đầu ra **$0.00075** / 1K token Đầu vào · Đọc bộ nhớ đệm **$0.00002** / 1K token Đầu vào · Ghi bộ nhớ đệm **$0.00025** / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ **—** / 1K token |

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 · Xử lý hàng loạt

curl · mẫu kiểm thử đã lưuPython HTTP · JSONL thực tế của khách hàngPython · lưu từng kết quả đã hoàn tất

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"openai/gpt-6-luna:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
```

```python
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['openai/gpt-6-luna:batch', 'openai/gpt-6-luna']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-6-luna:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
```

```python
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
```

### Nhận và lưu kết quả

#### Ailoot Ultra · Xử lý hàng loạt

JSON nội tuyến tại results\[\].response.body

- `GET /v1/batches/{operation_id}`

##### Kiểm tra trạng thái tác vụ

curl · trạng thái thao tác gốc

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
```

##### Lưu tất cả kết quả đã hoàn tất

Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.

Giữ lại toàn bộ JSON trạng thái gốc, mọi kết quả/custom\_id và toàn bộ phần thân phản hồi hoặc lỗi. Lưu results\[\] đã hoàn tất dưới dạng JSONL mà không lọc.

##### Nếu cần kiểm tra phản hồi gốc

Giữ nguyên ID thao tác gốc. Phản hồi 503 result\_pending\_check có X-Should-Retry:false; tuyệt đối không gửi lại lô gốc có trạng thái chưa xác định.

Trường phản hồi

| Trường | Loại |
| --- | --- |
| Trường`results[].custom_id` | Loạistring |
| Trường`results[].response.body.choices[].message.content` | Loạistring\|null |
| Trường`results[].error` | Loạiobject\|null |
| Trường`usage` | Loạiobject\|null |
| Trường`id` | Loạistring |
| Trường`model` | Loạistring |
| Trường`endpoint` | Loạistring |
| Trường`status` | Loạistring |
| Trường`request_counts` | Loạiobject |
| Trường`results[].id` | Loạistring |
| Trường`results[].response.status_code` | Loạiinteger |
| Trường`results[].response.request_id` | 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ệnCấu trúc nội tuyến không đúng tài liệu, có khóa trùng, định danh phần tử không hợp lệ hoặc xung đột với khả năng đã cấu hình của mô hình. | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi bất kỳ yêu cầu mới nào. |
| Phản hồi401 · `authentication_error` | Điều kiệnKhóa API không hợp lệ. | Bước tiếp theoSử dụng khóa Ailoot đã được cấp quyền. |
| Phản hồi403 · `permission_error` | Điều kiệnNhóm xử lý hàng loạt không khả dụng. | Bước tiếp theoKiểm tra quyền sử dụng của khóa/nhóm. |
| Phản hồi422 · `invalid_request_error` | Điều kiệnXử lý hàng loạt tính phí từ số dư; yêu cầu tạo qua gói thuê bao bị từ chối. | Bước tiếp theoSử dụng nhóm đã được cấp quyền và tính phí từ số dư. |
| Phản hồi422 · `price_unavailable` | Điều kiệnKhông thể báo giá cho dữ liệu đầu vào của lô. | Bước tiếp theoGiữ lại phản hồi; sử dụng dữ liệu đầu vào của họ API được mô tả trong tài liệu. |
| Phản hồi402 · `billing_error` | Điều kiệnKhoản dự trữ cho xử lý hàng loạt không khả dụng. | Bước tiếp theoKhắc phục vấn đề về điều kiện tiếp nhận trước khi gửi yêu cầu mới. |
| Phản hồi503 · `price_unavailable` | Điều kiệnGiá phương thức xử lý hàng loạt/đơn giá gốc không khả dụng. | Bước tiếp theoGiữ lại phản hồi; không thay thế đơn giá. |
| Phản hồi503 · `api_error` | Điều kiệnTuyến cụ thể tới nhà cung cấp không khả dụng. | Bước tiếp theoGiữ lại phản hồi để sửa tuyến. |
| Phản hồi503 · `result_pending_check` | Điều kiệnKết quả gốc cần được kiểm tra; X-Should-Retry:false. | Bước tiếp theoGiữ lại operation\_id/id gốc và truy xuất trạng thái của thao tác đó; tuyệt đối không lặp lại POST gốc. |
| Phản hồi404 · `not_found` | Điều kiệnKhông tìm thấy thao tác kiểm tra trạng thái lô hoặc thao tác thuộc một danh tính khác. | Bước tiếp theoSử dụng đúng id gốc và cùng người dùng/khóa/nhóm. |

### Bí danh

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

**Ailoot Ultra** [`openai/gpt-6-luna:batch`](https://ailoot.ai/models/vi/#m=openai%2Fgpt-6-luna%3Abatch&route=Ultra&caller=openai%2Fgpt-6-luna%3Abatch&fmt=batches)

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

Dùng các đường dẫn phương thức hiển thị ở trên.

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

[`openai/gpt-6-luna:batch`](https://ailoot.ai/models/vi/#m=openai%2Fgpt-6-luna%3Abatch&route=Ultra&caller=openai%2Fgpt-6-luna%3Abatch&fmt=batches)

FAQ · OpenAI: GPT-6 Luna (batch)

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

`POST /v1/batches` · `openai/gpt-6-luna:batch`: `text` → `text`

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

`POST /v1/batches` · `openai/gpt-6-luna:batch`: `endpoint`, `model`, `requests`, `completion_window`, `provider`

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

`POST /v1/batches` · `openai/gpt-6-luna:batch`: `requests.min_items`: `1`

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.
