Skip to main content
This guide covers using cloud mobiles (virtual devices hosted on Minitap Platform) where all agentic logic runs in the cloud.
Want to use a local device instead? Check out the Local Quickstart for setting up with your own devices.

What are Cloud Mobiles?

Cloud mobiles are virtual Android devices hosted on Minitap Platform. Key benefits:

Zero Local Setup

No ADB, idb, or local servers required

Persistent State

Device state is preserved across restarts and sessions

Always Available

Devices ready on-demand, no maintenance

Centralized Monitoring

Built-in observability via Minitap Platform

Prerequisites

1

Get Minitap API Key

Sign up at Minitap Platform and generate an API key from your dashboard.
2

Create a Cloud Mobile

Navigate to the Virtual Mobiles section in Minitap Platform and create a new device. You’ll get:
  • A unique UUID (e.g., 550e8400-e29b-41d4-a716-446655440000)
  • Or a reference name (e.g., my-test-device)
3

Install SDK

New users get $10 in free credits to get started!
Current Availability: Only Android v11 (API level 30) is currently available as a cloud mobile. iOS support is not yet available.

Creating Your First Cloud Mobile Automation

Let’s write a simple script that runs a task on a cloud mobile.
cloud_calculator_demo.py

What’s Different from Local Mode?

Use .for_cloud_mobile() instead of .for_device():
Pass API key to init() or set MINITAP_API_KEY environment variable:
Cloud mobiles only support PlatformTaskRequest (not direct goal parameter):
Use ManualTaskConfig for one-off tasks without pre-configuring them in the Platform!
No need for ADB, idb, or local device setup. Everything runs in the cloud!

How to Create a Cloud Mobile in Platform

1

Log in to Minitap Platform

2

Go to Virtual Mobiles

Click on Virtual Mobiles in the left sidebar
3

Create New Device

Click + New Virtual Mobile and configure:
  • Platform: Android (currently only Android v11 / API level 30 is available)
  • Reference Name: Optional friendly name (e.g., test-device)
4

Copy Device ID

Once created, copy the device UUID or reference name. You’ll use this in your code:
Use reference names for easier identification: my-test-device is easier to remember than 550e8400-e29b-41d4-a716-446655440000!

One-Off Tasks with ManualTaskConfig

You can run one-off tasks on cloud mobiles without pre-configuring them in the Platform by using ManualTaskConfig:
cloud_manual_task.py
ManualTaskConfig is perfect for one-off tasks or quick testing without having to create a task in the Platform first!

Complete Example with Structured Output

Here’s a more complete example that uses structured output with ManualTaskConfig:
cloud_weather_check.py

Installing Custom APKs

You can install your own APK files on cloud mobiles using the install_apk() method:
x86_64 Compatibility Required: Cloud mobiles run on x86_64 architecture. Your APK must include x86_64 native libraries or be architecture-independent. APKs built only for ARM devices will not work.
See the Agent SDK Reference for full documentation on the install_apk() method.

Capturing Screenshots from Cloud Mobiles

You can capture screenshots from cloud mobiles using get_screenshot():
The get_screenshot() method works seamlessly with both cloud and local devices!

Environment Variables

For convenience, set your API key as an environment variable:
.env
Then simplify your code:
Never commit your .env file to version control. Add it to .gitignore.

Monitoring Task Execution

When using cloud mobiles, you can monitor task execution in real-time via Minitap Platform:
  1. Navigate to Task Runs in the Platform
  2. Filter tasks by cloud mobile to see only tasks running on specific devices
  3. Find your running task
  4. View:
    • Real-time status updates
    • Agent thoughts and decisions
    • Subgoal progress
    • Screenshots at each step
    • LLM costs and usage
Use the cloud mobile filter to quickly find tasks running on a specific virtual device!

Comparing Local vs Cloud Mobiles


Best Practices

Use Reference Names

Name your cloud mobiles for easier management: test-device, prod-android-1

Monitor Costs

Check Platform dashboard for usage and costs

Error Handling

Always use try/finally to ensure cleanup

Environment Variables

Store API keys in environment variables, not code

Troubleshooting

Cause: API key not provided or invalid.Solution:
Cause: Cloud mobile not in “Ready” state.Solution: Check Platform dashboard to ensure device is running and ready. The SDK automatically starts and waits for the device.
Cause: Cloud mobiles don’t support run_task(goal="...") directly.Solution: Use PlatformTaskRequest with either a pre-configured task or ManualTaskConfig:

Next Steps

Local Quickstart

Learn about local device setup

SDK Reference

Complete Agent API documentation

Examples

More automation examples

Platform Docs

Deep dive into Platform features