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

# Air Container

> Deploy your AI container to Air Cloud

Air Container enables you to deploy containerized AI services quickly and efficiently.
Here's how it works:

## Deployment Flow

### Step 1. Select a project

<Frame caption="Select a project">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/select-a-project.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=1709e826ee95e9a709237f9423215793" style={{ borderRadius: "0.5rem" }} width="1920" height="480" data-path="docs/images/air-container/select-a-project.png" />
</Frame>

First, go to the Project Dashboard and select the organization and project you
created during onboarding.

<Frame caption="Container Page">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/container-page.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=38ba784695c4c9e20cc0dd1559210bad" style={{ borderRadius: "0.5rem" }} width="1920" height="1038" data-path="docs/images/air-container/container-page.png" />
</Frame>

From the Service tab on the project page, select **"Container"** and click
**\[+ Create]** button to create a new container.

### Step 2. Base Settings

<Frame caption="Enter General Information">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/enter-general-information.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=98e821dfdacd7a0166cad354a1688746" style={{ borderRadius: "0.5rem" }} width="1224" height="356" data-path="docs/images/air-container/enter-general-information.png" />
</Frame>

<br />

<Frame caption="Enter Container Image Information">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/enter-container-image-information.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=92ec39de5aeac5ff9e822dea0a1eb67a" style={{ borderRadius: "0.5rem" }} width="1224" height="696" data-path="docs/images/air-container/enter-container-image-information.png" />
</Frame>

During container creation, the following fields are required:

<ResponseField name="Name" type="string" required>
  A user-friendly name for the container.
</ResponseField>

<ResponseField name="Category" type="string">
  Type of service the container provides (used for future Playground
  integration).
</ResponseField>

<ResponseField name="Container Image" type="url" required>
  Docker image URL of the container.
</ResponseField>

<ResponseField name="Registry Provider" type="string" required>
  The registry where the image is hosted (e.g., GitHub Container Registry,
  Docker Hub).
</ResponseField>

<ResponseField name="Registry Username & Password" type="string">
  Required if pulling from a private registry.
</ResponseField>

### Step 3. Configure Resources

<Frame caption="Resource Settings">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/resource-settings.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=f347678f536165a8df45ff478392a615" style={{ borderRadius: "0.5rem" }} width="1920" height="1590" data-path="docs/images/air-container/resource-settings.png" />
</Frame>

* **General Mode**: Define instance type (e.g., RTX 4070, 4090).
* **Autoscaling Mode**: Define minimum and maximum replicas (1 to 30). Higher
  values require manual approval.

### Step 4. Advanced Settings

<Frame caption="Advanced Settings">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/advanced-settings.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=cdb7425b3abac389ddb370e3d0b13e38" style={{ borderRadius: "0.5rem" }} width="1030" height="670" data-path="docs/images/air-container/advanced-settings.png" />
</Frame>

In the "Advanced" section, additional options are available:

<ResponseField name="Start Command" type="string">
  Overrides the default startup command in the container image.
</ResponseField>

<ResponseField name="Port" type="number">
  Overrides the default exposed port.
</ResponseField>

<ResponseField name="Health Check URL" type="url">
  Path to check container health status (e.g., /api/health).
</ResponseField>

<ResponseField name="Environment Variables" type="object">
  Set key-value pairs required for your app (e.g., DB credentials, API keys).
</ResponseField>

### Step 5. Review and Deploy

<Frame caption="Review Page">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/review-page.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=4b561b81c1452a086ccdc720977e25c6" style={{ borderRadius: "0.5rem" }} width="1920" height="1642" data-path="docs/images/air-container/review-page.png" />
</Frame>

### Step 6. Deployment Completion

<Frame caption="Deployment Completion">
  <img src="https://mintcdn.com/aircloud/6Ic5gbgYkO3hL9Pq/docs/images/air-container/deployment-completion.png?fit=max&auto=format&n=6Ic5gbgYkO3hL9Pq&q=85&s=bccf1ad96c5d9eab2075ab3bc2e97980" style={{ borderRadius: "0.5rem" }} width="1996" height="726" data-path="docs/images/air-container/deployment-completion.png" />
</Frame>

Once deployed, the container will start immediately, and an API endpoint or service URL will be provided.

* The container will appear in the left-hand list.
* Selecting an item will show its detailed information on the right.
* You can edit settings from the right panel.
* Clicking the "Dashboard" button will redirect you to a detailed management page with container status and activity logs.

## API Request

Once the container status is `RUNNING`, you can access the AI inference API using the exposed endpoint.
Replace the host part with your container's Endpoint URL.

```bash cURL theme={null}
curl --request POST \
     --url ${ENDPOINT_URL}/api/v1/chat/completions \
     --header "Accept: application/json" \
     --header "Authorization: Bearer ${YOUR_API_KEY}" \
     --header "Content-Type: application/json" \
     --data '{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "Write a haiku about recursion in programming."
    }
  ]
}'
```
