CLOUSD
Buka akun

Dari nol hingga perangkat yang berjalan

ADB remote lewat internet dan panduan cepat API

Dokumentasi Clousd memandu Anda dari panduan cepat lima langkah untuk API cloud phone hingga perangkat, jaringan, aplikasi, snapshot, grup dan jadwal, ADB lewat internet, webhook, AI agent, error, tim, dan tagihan, dengan glosarium di bagian akhir. Lihat juga kemampuan API.

Panduan cepat

Lima langkah dari akun baru hingga perangkat yang Anda kendalikan dengan skrip. Semua langkah di sini juga bisa dilakukan manual di dasbor.

  1. Buat akun

    Daftar dengan email, Google, atau GitHub. Perangkat pertama Anda berjalan gratis selama 30 menit, tanpa kartu dan tanpa isi saldo.

  2. Tambah saldo

    Tagihan → Isi saldo, mulai $10 lewat kripto, WeChat Pay, atau Alipay. Perangkat ditagih dari saldo prabayar ini; jika saldo habis, panggilan pembuatan perangkat menjawab 402.

  3. Buat kunci API

    Pengaturan → Kunci API. Pilih cakupannya, read atau control, dan perangkat yang dicakup. Kunci hanya ditampilkan sekali.

  4. Buat perangkat

    Tampilkan daftar model yang bisa Anda buat, lalu buat satu dengan jaringan dan paket.

  5. Pantau sampai menyala

    Perangkat muncul dengan status starting dan menjadi running dalam sekitar satu menit, lengkap dengan negara dan alamat jalur internetnya.

Perangkat pertama Anda
export CLOUSD_KEY=cl_live_your_key

# 1. apa yang bisa saya buat? - id model beserta versi Android-nya
curl https://api.clousd.com/v1/models -H "Authorization: Bearer $CLOUSD_KEY"

# 2. buat: Galaxy A16 5G di Android 15, jalur seluler di AS, ditagih per menit
curl -X POST https://api.clousd.com/v1/devices \
  -H "Authorization: Bearer $CLOUSD_KEY" \
  -H "Idempotency-Key: first-device-001" \
  -d '{"profile":"galaxya16","plan":"metered","network":{"type":"mobile","country":"US"}}'
# → 202 {"ok": true, "name": "c3f9a41d2", "state": "starting", "poll": "/v1/devices/c3f9a41d2"}

# 3. pantau sampai statusnya running
curl https://api.clousd.com/v1/devices/c3f9a41d2 -H "Authorization: Bearer $CLOUSD_KEY"
Header Idempotency-Key wajib saat membuat perangkat. Jika permintaan timeout dan Anda mengulanginya dengan kunci yang sama dalam 10 menit, Anda mendapat perangkat yang sama, bukan perangkat kedua dan tagihan kedua.

Perangkat

Perangkat adalah ponsel dengan satu model dan satu versi Android. Aplikasi dan datanya tetap tersimpan saat dimatikan dan dinyalakan ulang, sampai Anda menghapusnya.

StatusArti
startingSedang dibuat, dinyalakan, atau di-restart; ada job yang berjalan untuknya
runningMenyala, ditagih selama berjalan, bisa dijangkau dari dasbor, API, dan ADB
errorBerjalan, tetapi pemeriksaan kesehatan terakhirnya gagal (Android atau jalur internet)
stoppedMati dan gratis; aplikasi dan data tetap tersimpan

Nyalakan, matikan, dan restart menjawab 202 beserta job. Hapus bersifat permanen: perangkat dan datanya dihapus dan tidak bisa dikembalikan. Paket berlaku per perangkat: metered ($0.004 per menit, maksimal $0.80 per hari) atau monthly ($12.00 untuk 30 hari).

Siklus hidup
POST   /v1/devices/{name}/start
POST   /v1/devices/{name}/stop
POST   /v1/devices/{name}/restart
GET    /v1/devices/{name}/screenshot?w=320     # PNG, atau JPEG kecil dengan w
POST   /v1/devices/{name}/action  {"op":"open_app","package":"com.android.chrome"}
DELETE /v1/devices/{name}                     # permanen

action menjalankan satu langkah tanpa stream langsung: open_app, close_app, url, tap, swipe, text, key, scroll, serta pembantu teks find_text, tap_text, wait_text, screen_text.

Jaringan

Setiap perangkat punya satu jalur internet. GET /v1/network/options menampilkan jenis dan negara yang bisa Anda pilih saat ini.

JenisKeterangan
mobileIP operator seluler, alamat baru sesuai permintaan; Android melihat data seluler
residentialAlamat internet rumahan; Android melihat Wi-Fi
ispAlamat statis di jaringan penyedia internet
datacenterSatu alamat per perangkat dari pool kami
urlProxy socks5:// atau http:// Anda sendiri
Ubah, ganti IP, cek
POST /v1/devices/{name}/network         {"type":"residential","country":"GB"}
POST /v1/devices/{name}/network         {"url":"socks5://user:pass@203.0.113.7:1080"}
POST /v1/devices/{name}/network/rotate  # alamat baru, jenis dan negara sama
POST /v1/network/check                     {"url":"http://user:pass@198.51.100.24:8080"}

Zona waktu, bahasa, SIM, dan lokasi yang dilaporkan mengikuti jalur internet. Jalur dipasang di bawah Android, DNS ikut lewat jalur itu, dan trafik berhenti jika jalurnya putus. Cara kerjanya

Aplikasi

Instal dari katalog kami seperti ponsel menginstal dari Play Store, atau unggah APK apa pun.

Katalog dan APK
GET  /v1/apps                                # paket, judul, kategori, versi, ukuran
POST /v1/devices/{name}/apps  {"package":"com.instagram.android"}
GET  /v1/devices/{name}/apps                 # yang terinstal dari katalog
curl -X POST https://api.clousd.com/v1/devices/{name}/apk \
  -H "Authorization: Bearer $CLOUSD_KEY" -F apk=@app-release.apk

Instalasi dari katalog melaporkan Play Store sebagai penginstalnya. Jika versi yang sama atau lebih baru sudah terpasang, job selesai dengan status “already”.

Snapshot dan clone

Snapshot membekukan perangkat: aplikasi, login, file, dan pengaturan. Pulihkan untuk kembali ke keadaan itu; clone untuk membuat perangkat baru dengan pengaturan yang sama serta nomor serial, IMEI, SIM, dan Android ID sendiri.

Simpan, pulihkan, clone
POST /v1/devices/{name}/snapshots                  {"name":"ready-v3"}
GET  /v1/devices/{name}/snapshots
POST /v1/devices/{name}/snapshots/{id}/restore
POST /v1/devices/{name}/snapshots/{id}/clone    {"name":"eu01"}

Clone adalah perangkat biasa, ditagih seperti perangkat lain, dan masuk ke daftar perangkat kunci yang membuatnya. Untuk backup terjadwal, gunakan Dasbor → Snapshot → Backup malam.

Grup dan jadwal

Job grup menjalankan daftar langkah di banyak perangkat, masing-masing mulai pada saat acak dalam rentang jeda yang Anda tentukan. Progres dilaporkan per perangkat di dalam job.

Job grup
POST /v1/groups
{
  "phones":  ["c3f9a41d2", "c81d07e5a", "c2b9f4a10"],
  "stagger": [30, 180],
  "steps": [
    {"op":"install_app","package":"com.instagram.android"},
    {"op":"open_app","package":"com.instagram.android"},
    {"op":"browse","seconds":240},
    {"op":"wait","seconds":20,"seconds_max":90},
    {"op":"screenshot"}
  ]
}

Langkah: open_app, close_app, install_app, url, tap, swipe, text, key, wait (acak antara seconds dan seconds_max), browse (scroll dan jeda acak, 10–600 dtk), scroll, if_text / unless_text (lewati langkah berikutnya kecuali ada teks tertentu di layar), screenshot, start, stop, restart.

Jadwal adalah job yang sama yang berjalan sesuai jam: POST /v1/schedules dengan name, phones, steps, stagger, at ("HH:MM", UTC), dan days (1–7). Jeda dengan /toggle, hapus dengan /delete. Di dasbor, menu Otomatisasi menambahkan alur yang disusun dari blok dan tindakan siap pakai untuk aplikasi populer. Yang diotomatisasi per aplikasi

Akses ADB

ADB mati secara default. Nyalakan untuk sebuah perangkat dengan alamat yang akan Anda pakai untuk terhubung; Anda mendapat host, port, dan kode login sekali pakai yang hanya ditampilkan sekali.

Aktifkan dan hubungkan
POST /v1/devices/{name}/adb  {"ttl_hours":24,"allow_ips":["203.0.113.7","198.51.100.0/24"]}
# → {"host": "…", "port": 27001, "code": "a1b2c3", "expires": "…",
#    "connect": "adb connect host:27001", "login": "adb -s host:27001 shell clousd-login a1b2c3"}

adb connect host:27001
adb -s host:27001 shell clousd-login a1b2c3      # → login ok
adb -s host:27001 install app.apk

DELETE /v1/devices/{name}/adb                 # matikan, tutup sesi

Batas: allow_ips wajib diisi (hingga 20 IP atau rentang); ttl_hours secara default 24 dan maksimal 168; hingga 3 sesi per perangkat; 5 kode salah menutup sesi dan 20 kode salah dalam 10 menit mematikan relay; sesi tidak aktif ditutup setelah 30 menit; push dan pull dibatasi 2 GiB per sesi. Root, remount, disable-verity, reverse, reboot, tcpip, usb, jdwp, sideload, dan restore selalu ditolak. Menerbitkan kode baru menutup sesi yang sedang berjalan.

Webhook

Kunci bisa punya URL webhook (atur saat membuat kunci). Event untuk perangkat milik kunci itu dikirim sebagai POST dengan body JSON {"event", "ts", "phone", "job" | "incident"}.

EventWaktu
job.finishedNyalakan, matikan, restart, pergantian jaringan, snapshot, atau clone selesai
health.problemPemeriksaan kesehatan perangkat gagal
health.resolvedMasalahnya sudah teratasi

Setiap permintaan membawa X-Clousd-Signature: HMAC-SHA256 dalam format hex dari body mentah, dengan kunci berupa SHA-256 hex dari kunci API Anda. Pengiriman dicoba tiga kali: langsung, setelah 10 detik, dan setelah 60 detik, dengan timeout 10 detik.

AI agent

Dua panggilan memberi agent sebuah siklus: lihat, lalu bertindak.

Observe dan act
GET /v1/devices/{name}/observe?w=540
# → {"seq": 41, "image": {"w": 540, "format": "jpeg", "data": "…"}, "package": "…", "activity": "…",
#    "ui": [{"text": "Checkout", "id": "…", "b": [60, 1560, 1020, 1680], "click": true}, …]}

POST /v1/devices/{name}/act  {"op":"tap_text","text":"Checkout","seq":41,"settle":true}
# → {"ok": true, "seq": 42, "settled": true, "waited_ms": 830}

observe selalu mengambil screenshot baru dan mengembalikan hingga 500 elemen layar beserta batasnya. act menolak dengan 409 stale jika ada observe atau act lain setelah seq yang Anda kirim, sehingga agent tidak pernah bertindak berdasarkan gambar lama; dengan settle, act menunggu sampai layar berhenti berubah (hingga 5 dtk). Reset di antara run dengan memulihkan snapshot. Ponsel untuk AI agent

Error dan batas

Error berupa JSON dengan jenis error yang bisa dibaca mesin dan sebuah pesan: {"error": "busy", "message": "…"}. Kode status: 400 permintaan tidak valid, 401 tidak terautentikasi, 402 saldo tidak cukup, 403 ditolak oleh cakupan atau daftar perangkat, 404 tidak ditemukan, 409 sibuk atau usang, 429 terkena batas permintaan.

Batas per kunci: 60 permintaan per menit; pada rute /devices/{name}/… 120 per menit per perangkat dan 600 per menit untuk semua perangkat. 429 berarti perlambat dan coba lagi dengan jeda yang makin panjang.

Tim dan kunci API

Sebuah akun punya owner dan operator. Owner mengurus tagihan, kunci API, tim, serta membuat atau menghapus perangkat. Operator menjalankan perangkat yang Anda tugaskan: nyalakan, matikan, aplikasi, jaringan, snapshot, dan ADB, tetapi tanpa tagihan, kunci API, atau penghapusan. Undang orang lewat email di menu Tim; mereka bergabung saat login pertama.

Kunci API milik akun, bukan milik orang: setiap kunci punya cakupan (read atau control) dan daftar perangkat. Kunci baca yang memanggil rute yang mengubah data mendapat 403. Kunci yang dicabut langsung berhenti berfungsi.

Tagihan

Clousd memakai saldo prabayar. Isi saldo mulai $10 lewat kripto, WeChat Pay, atau Alipay; setiap isi saldo dan tagihan tercatat sebagai satu baris di menu Tagihan, dan Pemakaian menampilkan menit dan biaya per perangkat. Perangkat per menit memotong $0.004 per menit selama menyala, tidak pernah lebih dari $0.80 per hari; perangkat bulanan memotong $12.00 sekali setiap 30 hari. Android 15 menambah 10%, Android 16 25%, dan Android 17 25%. Jalur internet berbayar ditagih per gigabyte. Saat saldo mencapai nol, perangkat per menit yang sedang menyala dimatikan dan datanya tetap tersimpan. Harga

Bantuan

Tulis ke support@clousd.com atau gunakan formulir kontak; yang menjawab orang sungguhan, biasanya dalam satu hari kerja. Sertakan ID perangkat dari dasbor (diawali dev_) atau nama API-nya, dan apa yang Anda harapkan terjadi. Kondisi platform saat ini ada di halaman status, dan perubahan terbaru ada di catatan rilis.

Glosarium

Istilah yang dipakai dasbor, API, dan dokumentasi ini, di satu tempat.

Jalur
Proxy yang dipasang untuk satu perangkat di bawah Android: seluler, residensial, ISP, pusat data, atau proxy SOCKS5 atau HTTP Anda sendiri. Aplikasi melihat alamatnya, dan zona waktu, bahasa, serta SIM mengikuti negaranya.
Region
Lokasi server tempat perangkat berjalan. Pilih yang paling dekat dengan orang yang memantau layar atau menjalankan ADB; region dipilih terpisah dari jalur internet.
Snapshot
Salinan tersimpan dari seluruh perangkat: aplikasi, login, file, dan pengaturan. Pulihkan dalam satu langkah, atau clone perangkat baru darinya.
Clone
Perangkat baru yang dibuat dari snapshot: aplikasi, file, dan pengaturan yang sama, dengan nomor serial, IMEI, SIM, alamat Wi-Fi dan Bluetooth, serta Android ID sendiri.
Identitas
Pengenal hardware yang dilaporkan perangkat: serial, IMEI, nomor telepon, dan detail Wi-Fi. Identitas baru menggantinya dengan satu panggilan.
Resep
Otomatisasi siap pakai untuk satu tindakan di aplikasi, seperti Login, Warm-up, Terbitkan post, atau Hapus post terakhir, dijalankan di satu ponsel, satu grup, atau sesuai jadwal.
Langkah umum
Blok penyusun yang berfungsi di aplikasi apa pun: buka aplikasi atau URL, ketuk, geser, ketik teks, tekan tombol, jelajahi, scroll, tunggu, cek teks di layar, dan ambil screenshot.
Alur
Rangkaian langkah yang disusun dari blok di menu Otomatisasi, seperti Login, Warm-up, Jeda, dan Terbitkan, masing-masing dengan durasi dan rentang ±.
Grup
Sekumpulan perangkat yang diberi perintah sekaligus: nyalakan, matikan, instal aplikasi, dan jalankan langkah, dengan jeda acak antarponsel.
Jadwal
Resep atau langkah yang berjalan sesuai hari dan jam (UTC) di satu perangkat atau satu grup.
Sumber daya
Tempat akun dan media disimpan: data login per akun, disimpan terenkripsi dan terhubung ke ponsel, serta pustaka Media.
Pustaka Media
Folder foto dan video di Resources. Langkah posting mengambil file terbaru atau acak dan tidak pernah mengulang file yang sama di ponsel yang sama.
Multi-view dan Sync
Dinding layar langsung yang ditampilkan berdampingan. Sync meneruskan ketukan, geseran, atau teks yang diketik ke ponsel yang Anda pilih.
Owner dan operator
Peran tim. Owner mengurus tagihan, kunci API, tim, serta membuat atau menghapus perangkat; operator hanya menjalankan perangkat yang ditugaskan kepada mereka.
Relay ADB
Cara menjangkau perangkat dengan adb: hubungkan ke relay dan login dengan kode sekali pakai. Hanya untuk alamat IP Anda, mati secara default, dan berbatas waktu.
Trial Gratis

Siap mendapatkan kunci? Perangkat pertama Anda tinggal satu menit lagi.

  • Tanpa kartu, tanpa isi saldo.
  • Buat akun, jalankan perangkat, pakai selama setengah jam.
  • Kalau cocok, isi saldo dan lanjutkan. Kalau tidak, Anda tidak rugi apa pun.
Ponsel yang dimatikan tidak dikenai biayaSatu trial per akun, perangkat menyimpan keadaannya