Dedicated Endpoints
Dedicated Endpoints run any model in the Modal Library, or custom weights, on isolated, autoscaling containers. Use them when you need control over autoscaling and regions, or dedicated capacity.
Create a Dedicated Endpoint
Create an Endpoint from the CLI:
modal endpoint create --model Qwen/Qwen3.5-4BModal resolves the model, selects a compatible serving recipe, and starts provisioning. The command prints the Endpoint ID and a dashboard link where you can watch it come online. Dedicated Endpoints can also be created from the Endpoints tab in the dashboard.
If you omit --name, Modal derives a name from the model.
View the generated source
A Dedicated Endpoint is a Modal App built with the same primitives available in
the Modal SDK, including @app.server(). Open the Source view to inspect its generated serve.py. You can copy and adapt that
code into your own Modal App when you need full control of the serving stack.
Serve custom weights
Custom weights use the serving recipe for a compatible Modal Library model. Pass
that model with --model, then provide weights from Hugging Face or a Modal
Volume.
From Hugging Face:
modal endpoint create \
--name my-fine-tune \
--model Qwen/Qwen3.6-27B \
--custom-hf-repo aisingapore/Qwen-SEA-LION-v4.5-27B-IT \
--custom-hf-revision da42f2c0984d716fb2032e4176d81adfac98c630Use --custom-hf-token for gated or private repositories.
From a Modal Volume containing a config.json file:
modal endpoint create \
--name my-volume-model \
--model Qwen/Qwen3.5-4B \
--custom-volume-name my-volume \
--custom-volume-path /checkpoints/1234Configure capacity and placement
By default, Dedicated Endpoints scale up under load and down to zero when idle. Configure minimum, maximum, and buffer containers from the dashboard.
The routing region controls where requests enter Modal. Compute placement controls where containers run. Set them independently:
modal endpoint create \
--model Qwen/Qwen3.5-4B \
--routing-region us-east \
--compute-region us-westUse --colocate-compute instead to run compute in the routing region. Pinning
compute to a region incurs a region selection multiplier.
Metrics
The Activity view shows request volume over time. Use Responses to inspect individual requests and Containers to inspect the containers serving them.
For text-generation models, Metrics separates Inference metrics—latency, throughput, running and queued requests, cache usage, and speculative decoding—from Server metrics such as autoscaling and CPU, memory, network, and GPU utilization.
Benchmarks
For text-generation models, the Benchmark view can run a repeatable real-time or agentic workload against the live Endpoint. Benchmarks generate traffic, trigger autoscaling, and incur the usual compute cost.
Treat results as point-in-time measurements: fleet size, placement, and cold starts can all affect them.
Manage a Dedicated Endpoint
List Endpoints in an Environment:
modal endpoint list --env prodStop an Endpoint when you no longer need it:
modal endpoint stop my-endpoint --env prodStopping an Endpoint is permanent. It tears down the serving application and deletes its managed model cache; the Endpoint cannot be restarted.
Pricing
Dedicated Endpoints bill for the GPU, CPU, memory, and other resources used by their containers at standard Modal compute rates. An Endpoint scaled to zero does not incur compute charges.