CLOUSD
Mở tài khoản
Tìm hiểuBenchmarkAgent đạt điểm thế nào trên điện thoại ClousdBlogSắp cóHướng dẫn, phân tích chuyên sâu và ghi chép thực tếSo sánhSắp cóClousd đặt cạnh các lựa chọn khác
Xây dựngTích hợpSắp cóMCP, Claude Code, Codex, Cursor, n8nGitHubSDK, MCP server và ví dụ
Đọc tài liệu

Tham chiếu Clousd API.

Mọi route của Clousd API v1, 71 thao tác, được nhóm theo cách bạn sẽ dùng. Tham số, body yêu cầu và phản hồi có trong tệp OpenAPI.

Mọi yêu cầu
# base URL
https://api.clousd.com/v1

# header
Authorization: Bearer cl_live_your_key

# errors are JSON
{ "error": "busy", "message": "…" }

Cơ bản

MụcGiá trịGhi chú
Base URLhttps://api.clousd.com/v1Chỉ HTTPS, dữ liệu vào và ra đều là JSON
Xác thựcAuthorization: Bearer cl_live_…Khóa được tạo trên bảng điều khiển, giới hạn quyền đọc hoặc điều khiển và theo danh sách thiết bị
Thao tác dài202 Accepted → GET /v1/jobs/{id}Tạo, bật, khôi phục và các lệnh tương tự trả về một job để theo dõi
Lỗi{ "error": "busy", "message": "…" }Một mã ngắn để code rẽ nhánh và một thông báo cho người đọc
Đặc tả đầy đủopenapi-v1.yamlOpenAPI 3.1 với tham số, body và phản hồi

Tác vụ

Phương thứcRouteChức năng
GET/v1/schedulesLịch chạy của khóa này
POST/v1/schedulesTác vụ tự chạy - hằng ngày, hằng giờ hoặc khi bạn gọi
POST/v1/schedules/{id}/toggleTạm dừng hoặc tiếp tục lịch chạy
POST/v1/schedules/{id}/deleteXóa lịch chạy
POST/v1/runsGiao tác vụ bằng lời thường cho một hay nhiều máy
GET/v1/runsCác lần chạy của khóa này, mới nhất trước
GET/v1/runs/{id}Một lần chạy - trạng thái, câu trả lời, structured_output, card đang chờ
DELETE/v1/runs/{id}Xóa lần chạy đã xong cùng các bước và ảnh chụp màn hình
GET/v1/runs/{id}/eventsSự kiện trực tiếp dạng Server-Sent Events
GET/v1/runs/{id}/trajectoryMọi bước - công cụ, đối tượng, kết quả, màn hình có được lưu không
GET/v1/runs/{id}/steps/{n}.jpgMàn hình trước bước n
POST/v1/runs/{id}/answerTrả lời card của lần chạy - câu hỏi (answer) hoặc xin phép (allow / decline)
POST/v1/runs/{id}/messageNhắn cho agent đang chạy; agent đọc trước bước tiếp theo
POST/v1/runs/{id}/cancelDừng lần chạy
POST/v1/schedules/{id}/runChạy lịch ngay - kích hoạt cho trigger=api
GET/v1/credentialsĐăng nhập đã lưu - package, tên và các trường đã điền; không bao giờ trả về giá trị
POST/v1/credentialsLưu đăng nhập cho một ứng dụng
POST/v1/credentials/{id}/fieldsĐiền một trường của đăng nhập
DELETE/v1/credentials/{id}/fields/{type}Xóa một trường của đăng nhập
DELETE/v1/credentials/{id}Xóa một đăng nhập

Thiết bị

Phương thứcRouteChức năng
GET/v1/devicesThiết bị khóa này nhìn thấy
POST/v1/devicesTạo thiết bị (tính phí vào tài khoản của khóa API)
GET/v1/devices/{name}Một thiết bị
POST/v1/devices/{name}/startBật thiết bị
POST/v1/devices/{name}/stopTắt thiết bị (trạng thái được giữ; máy đã tắt không tốn phí)
POST/v1/devices/{name}/restartKhởi động lại thiết bị
GET/v1/devices/{name}/iceMáy chủ ICE cho trình xem WebRTC của thiết bị: TURN của máy chủ chứa thiết bị kèm thông tin xác thực tạm thời (khóa read là đủ)
GET/v1/devices/{name}/qualityChất lượng theo hạng mục (lần đo gần nhất)
POST/v1/devices/{name}/resetĐặt lại thiết bị về trạng thái mới: xóa ứng dụng và dữ liệu, máy trở lại như mới (cùng mẫu và Android, 1-5 phút)
GET/v1/devices/{name}/screenrecordQuay màn hình trong vài giây
POST/v1/devices/{name}/labelĐặt tên máy để người và agent phân biệt được (“Pixel QA”); để trống = trở về “Model #N”
GET/v1/balanceTiền của tài khoản - số dư, chi tiêu mỗi ngày, số giờ còn lại, kỳ gia hạn và cảnh báo cho người dùng
GET/v1/modelsCác mẫu máy có thể tạo thiết bị

AI agent

Phương thứcRouteChức năng
GET/v1/devices/{name}/observeNhìn mới vào điện thoại - ảnh màn hình, cây UI và ứng dụng đang mở trong một lệnh gọi
POST/v1/devices/{name}/actMột thao tác, rồi chờ tới khi màn hình thôi thay đổi
POST/v1/devices/{name}/opMột lệnh cơ sở của lõi (giao thức lõi Lusiesta, tương ứng một-một)

Màn hình và nhập liệu

Phương thứcRouteChức năng
GET/v1/devices/{name}/screenshotMàn hình dạng PNG; có w thì là JPEG nhỏ hơn (lưu đệm tới 10 giây - dùng /observe để có khung hình mới)
POST/v1/devices/{name}/actionMột thao tác trên máy (không chờ)
POST/v1/devices/{name}/inputChạm, phím, văn bản, cuộn, bộ nhớ tạm, xoay (cần phiên luồng trực tiếp)
GET/v1/devices/{name}/logsCác dòng logcat gần đây
GET/v1/devices/{name}/streamSố liệu luồng trực tiếp - fps, bitrate, độ trễ người xem, mức ABR (khóa read là đủ)
POST/v1/devices/{name}/streamWebRTC - gửi SDP offer, nhận SDP answer; body có bitrate_kbps thì thay vào đó cố định mức chất lượng (khóa control)
POST/v1/devices/{name}/stream/probeĐo độ trễ cho người xem trực tiếp: kéo khay thông báo trong 600 ms và trả về đồng hồ của gateway (khóa control, tối đa một lần mỗi 5 giây cho mỗi máy)

Mạng

Phương thứcRouteChức năng
GET/v1/devices/{name}/networkQuốc gia mạng của thiết bị
POST/v1/devices/{name}/networkĐặt quốc gia thiết bị kết nối từ đó (múi giờ và ngôn ngữ đi theo)
GET/v1/network/optionsNhững gì chọn được khi tạo thiết bị lúc này - quốc gia và gói

Ứng dụng

Phương thứcRouteChức năng
POST/v1/devices/{name}/apkCài một APK
GET/v1/appsKho ứng dụng - những gì cài được lúc này
GET/v1/devices/{name}/appsỨng dụng từ kho đã cài trên thiết bị
POST/v1/devices/{name}/appsCài ứng dụng từ kho (khóa control)

ADB

Phương thứcRouteChức năng
GET/v1/devices/{name}/adbTrạng thái phiên ADB
POST/v1/devices/{name}/adbMở phiên ADB qua relay (mã
DELETE/v1/devices/{name}/adbĐóng phiên ADB

Tệp và media

Phương thứcRouteChức năng
PUT/v1/devices/{name}/filesĐưa tệp lên máy (push) - body là tệp, đường dẫn trong /sdcard/ hoặc /data/local/tmp/
POST/v1/devices/{name}/mediaĐưa media từ thư viện lên máy như thể chụp bằng chính máy (push), gỡ những gì đã đưa (clean), hoặc liệt kê
GET/v1/mediaThư viện Media - ảnh và video kèm id
POST/v1/mediaTải lên ảnh hoặc video - {name, data_b64, folder}, tối đa 25 MB
POST/v1/media/sendSao chép tệp thư viện vào thư viện ảnh của các máy

Webhook

Phương thứcRouteChức năng
GET/v1/webhooksWebhook của khóa này và các sự kiện có thể đăng ký (run.completed / failed / cancelled / waiting, device.problem / resolved)
POST/v1/webhooksĐăng ký một URL https
GET/v1/webhooks/{id}Một webhook
DELETE/v1/webhooks/{id}Xóa webhook
POST/v1/webhooks/{id}/rotateSecret mới (chỉ hiện một lần)
POST/v1/webhooks/{id}/toggleTạm dừng hoặc tiếp tục gửi
POST/v1/webhooks/{id}/testGửi ngay một sự kiện thử
GET/v1/webhooks/{id}/deliveriesCác lần gửi gần đây kèm trạng thái và thời gian phản hồi

Tài khoản

Phương thứcRouteChức năng
GET/v1/usageSố phút chạy của từng thiết bị theo ngày (UTC) trong một tháng
GET/v1/incidentsSự cố trên thiết bị của bạn (100 gần nhất, mới nhất trước)
GET/v1/healthTình trạng thiết bị của bạn (đo mỗi 5 phút)
GET/v1/jobs50 job gần nhất của thiết bị
GET/v1/jobs/{id}Trạng thái của một thao tác dài