> ## Documentation Index
> Fetch the complete documentation index at: https://io.net/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Run a Model on a Container

> Deploy a model from a pre-configured recipe and send it your first request.

A **recipe** is a ready-made container deployment for one model: it carries the container image, the start command, the traffic port, the environment variables and the serving configuration, so the only choice left to you is the hardware. This guide takes one recipe from the wizard to a first request.

For the full wizard reference, see [Deploy Containers](https://io.net/docs/guides/clouds/deploy-containers.md).

## Prerequisites

* An [io.net](http://io.net) account with enough IO Credits to cover the deployment. To learn more about payment options, visit our [IO Cloud Payments](https://io.net/docs/guides/payment/io-cloud-payments.md) page.
* `curl`, or any other HTTP client, to send the request at the end.

## Step 1: Pick a Recipe

In [IO Cloud](https://cloud.io.net/cloud/home), click the **Deploy Container** button. The wizard opens on **Pre-Configured Recipes**.

* **Model** Each recipe is named for the model it serves, for example `DeepSeek V4 Flash` or `Qwen 3.6 27B`. Tags on the tile describe the model and the hardware that suits it.
* **Serving stack** Recipes are built on stacks such as vLLM, llama.cpp and ComfyUI, depending on the model. The stack decides what the deployment's API looks like: the vLLM and llama.cpp recipes serve an OpenAI-compatible API, which is what the request in **Step 6** uses. An image-generation recipe serves its own web interface instead.
* **Availability** A recipe whose hardware has no capacity right now is marked **Hardware Sold Out** and cannot be selected. Select another recipe, or come back later.

> [!NOTE]
>
> Recipes are added and updated as new models are released. Use the wizard for the current list.

## Step 2: Select Your Container Processor + Location

The recipe fills in the processor and the number of GPUs the model needs, so this step opens with that hardware already selected. Review it, select a location from the list, and proceed to the **next step**.

## Step 3: Review the Configuration

The **Configure** step is already filled in by the recipe. Review the fields instead of entering them, and note the **Traffic Port** — it is the port your requests go to, and it differs between serving stacks. Leave the fields as they are unless you know you need to change them, then click **Next Step**.

## Step 4: Deploy

Name your deployment, review the **Total Cost**, and click **Pay & Deploy**.

To view detailed instructions for every field on this step, see [Deploy Containers](https://io.net/docs/guides/clouds/deploy-containers.md).

## Step 5: Copy the Public URL

After payment is processed, the **Containers** list opens and you can view your cluster loading. Open your cluster from the list to reach its detail page.

Each container shows a **Public URL** field once it is ready. A container that has just been deployed needs a few minutes before it is reachable, and the field shows `-` until then. Copy the URL from the field.

If the container does not become ready, click **Check Logs** on the container to see its output. For an explanation of the health states on this page, see [Container Health Status](https://io.net/docs/guides/clouds/deploy-containers.md#container-health-status).

## Step 6: Call the Model

The vLLM and llama.cpp recipes serve an OpenAI-compatible API, so you can call your deployment with any OpenAI client by pointing it at the Public URL you copied.

First, ask the deployment which model it is serving. A recipe can serve a model under a shorter name than the one in its image, so use this list rather than guessing:

```bash theme={null}
curl $PUBLIC_URL/v1/models
```

Then send a chat completion, using the `id` from the response above as the `model`:

```bash theme={null}
curl $PUBLIC_URL/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<id-from-v1-models>",
    "messages": [
      {"role": "user", "content": "What is a decentralized GPU network?"}
    ]
  }'
```

> [!WARNING]
>
> Your container is yours alone, so it carries no io.net API key and the Public URL is not authenticated. Anything that can reach the URL can use the model. Terminate the cluster when you are finished with it.


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