> ## Documentation Index
> Fetch the complete documentation index at: https://modal-computer-use.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure browser automation

> Choose a browser, Image source, prewarm policy, and resources.

## Configure the browser explicitly

```python theme={"system"}
from modal_computer_use import ComputerConfig

config = ComputerConfig(
    resources={"profile": "browser", "cpu": 1.0, "memory_mib": 2048},
    image={"source": "inline"},
    browser={
        "kind": "chromium",
        "prewarm": False,
        "gpu_mode": "off",
    },
)
```

Choose CPU, memory, region, and browser prewarm for your workload. Record them with each
measurement.

## Keep the inline recipe as the default

The inline recipe stays with application source and lets Modal reuse cached build layers. Managed
release metadata is optional for this path.

Use a managed Image when an operator needs a release record and an exact Modal object identity.
Managed Image selection remains explicit.

## Publish a managed Image

<Warning>
  Image builds and canaries can incur Modal charges. Run publication only from a clean source revision
  after the operator approves the Environment and Image Builder Version.
</Warning>

```python theme={"system"}
from pathlib import Path
from modal_computer_use import ImageReleaseSpec, publish_image_release

spec = ImageReleaseSpec(
    source_revision="3fb4e2a4a58f5fae235515429c9219f4d964132d",
    logical_release="2.0.2",
    image_variant="standard",
    environment_name="main",
    manifest_path=Path("dist/image-releases/standard.json"),
    expected_image_builder_version="2025.06",
)

record = publish_image_release(spec)
```

The workflow uses the frozen runtime `pyproject.toml` and `uv.lock`. It builds the Image, runs the
protected canary, publishes the revision tag, and records the exact object ID. An interrupted run
can resume from its pending manifest. Identity conflicts fail closed.

## Resolve the exact Image

```python theme={"system"}
from modal_computer_use import resolve_release_image

image = resolve_release_image(record)
```

The release record binds the mutable name and tag to an Environment, exact Modal object ID, source
revision, lock hashes, builder version, canary result, and publication time.

The standard lifecycle benchmark measured 60 successful lifecycles and 60 successful cleanups. The
managed arm improved p50 by 8.95% and p95 by 3.15% for the tested setup. The paired mean interval
crossed zero. Read the [current results](/benchmarks/current-results) before applying the result to
another variant, region, or resource shape.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.