`. The create form previews the URL as you edit the container ID.
## Operational recommendations
* Manage public vs. private registry settings explicitly
* Validate ports and health check paths before deployment
* Re-check production environment variables before deploying
* After changes, review logs and usage together
## Related docs
Deployment flow and configuration steps.
What to check in Usage, Logs, and Settings.
# Deployment Error Codes
Source: https://docs.aieev.com/docs/reference/error-codes
What each container deployment error means and how to resolve it
When a container ends up in **DEPLOY FAILED** or **UNHEALTHY**, an **Error Details** chip appears next to its status in the console. Opening it shows the diagnosed cause, the raw message from the platform, and a shortcut to the container's runtime logs.
This page lists the codes you may see there.
## Image and Registry
| Code | Meaning | What to do |
| :- | :- | :- |
| `IMAGE_INACCESSIBLE` | The image could not be pulled. | Check the image URL and, for private registries, the username and password or access token. |
| `IMAGE_PULL_NETWORK` | A network error occurred while pulling the image. | Transient. Try again in a few minutes. |
## Resources
| Code | Meaning | What to do |
| :- | :- | :- |
| `RESOURCE_INSUFFICIENT` | The requested resources exceed what the device can provide. | Lower the GPU, CPU, memory, or shared-memory settings, or pick a larger instance type. |
| `DISK_FULL` | The device ran out of disk space. | Transient. Try again later, or reduce the persistent volume size. |
| `VALIDATION_FAILED` | The submitted configuration is invalid. | Check the memory and CPU settings. |
## Scheduling and Runtime
| Code | Meaning | What to do |
| :- | :- | :- |
| `RAY_SCHEDULING_TIMEOUT` | No device is free yet. | Nothing to do — the container deploys automatically once a device frees up. If it persists, the GPU may be sold out; check availability or join the waitlist. |
| `RAY_HEALTH_CHECK_FAILED` | The deployed container is not responding to health checks. | The platform retries on another device. If it keeps failing, verify the health check path and port, and raise the health check timeout for slow-loading models. |
| `RAY_DEPLOY_FAILED` | Deployment failed repeatedly. | Check the image and the resource settings, then redeploy. |
| `RAY_ACTOR_DIED` | The container exited unexpectedly. | Check the runtime logs for the process's own error. Retry, and contact support if it persists. |
| `CONTAINER_RUN_FAILED` | The container failed to start. | Check the startup command and the runtime logs. |
| `DAEMON_UNREACHABLE` | The container engine on the device is not responding. | Transient. Try again later. |
| `RAY_UNKNOWN` | An unclassified deployment error. | Check the runtime logs, then contact support with the raw message. |
## Platform
These indicate a problem on the AirCloud side rather than in your configuration.
| Code | Meaning | What to do |
| :- | :- | :- |
| `PEER_NOT_FOUND` | Internal error during deployment. | Retry. Contact support if it persists. |
| `NETWORK_MISSING` | Internal error during deployment. | Contact support. |
| `ENDPOINT_NOT_FOUND` | The endpoint could not be found. | Reload the container list. Contact support if it persists. |
| `UPSTREAM_UNAVAILABLE` | A platform service is temporarily unavailable. | Try again later. |
| `UPSTREAM_TIMEOUT` | A platform service took too long to respond. | Try again later. |
| `DB_ERROR` | Temporary platform error. | Try again later. |
| `INTERNAL_ERROR` | Temporary platform error. | Try again later. |
| `UNKNOWN` | The cause could not be determined. | Contact support with the raw message from the Error Details dialog. |
The Error Details dialog also shows the **raw message** from the platform. When contacting support, include that message along with the container ID and the time the failure occurred.
## Related Documentation
Diagnose common deployment and runtime issues.
Read runtime logs to find the underlying cause.
# GPU Availability and Limits
Source: https://docs.aieev.com/docs/reference/gpu-availability-and-limits
Why a GPU may be unselectable, and how replica limits work
Two separate things decide whether you can start a container right now: whether the **GPU has free capacity**, and whether your **organization's replica limit** has room. This page explains both, and what to do when either one blocks you.
## GPU Availability
Every GPU in the container create flow carries an availability badge, refreshed from the live device fleet. Use **Refresh availability** to re-check without reloading the page.
| Badge | Meaning |
| :- | :- |
| **Available** | Plenty of free capacity. |
| **Limited** | Some capacity left. |
| **Low** | Very little capacity left — it may run out while you are configuring. |
| **Unavailable** | Sold out. The GPU cannot be selected until capacity frees up. |
When the badge is missing, availability could not be verified at that moment. You can still create the container, but it may wait before it starts.
Availability reflects the pool your container will actually deploy to, not the total number of devices AirCloud operates. Capacity held by long-term rentals, or reserved for another deployment shape, is not counted as free.
### Persistent Volumes Use a Separate Pool
Containers that use a persistent volume run on a dedicated node pool. That pool's capacity is evaluated separately, so a GPU can be available for containers without a volume and sold out for containers with one.
Two consequences follow:
* Turning a persistent volume on or off can change which GPUs are selectable.
* CPU type cannot be selected together with a persistent volume — the dedicated pool assigns without that distinction.
### When a GPU Is Sold Out
* **Join the waitlist** — you are notified in the console and by email as soon as capacity frees up.
* **Pick another GPU** — availability differs per model.
* **Rent it long term** — a [long-term rental](/docs/console/long-term-rentals) secures capacity ahead of time, and can be arranged even for periods with nothing free right now.
## Replica Limits
Separately from availability, your organization has a limit on how many replicas it can run, set per GPU type. The create form shows both figures — how many of your limit are already in use, and how many you can start right now.
| Situation | What you see |
| :- | :- |
| Limit has room | The number of replicas you can start immediately. |
| Limit reached | You can still create the container, but starting it requires stopping other containers or lowering the replica count. |
| Limit is 1 | Autoscaling is turned off automatically, since it needs at least 2. |
To raise the limit, request an increase from the replica settings or the limits page. Once approved, the new limit applies automatically and you are notified — see [Requests and Waitlist](/docs/console/requests).
## Related Documentation
Configure resources and replicas during deployment.
Join a waitlist or request a higher replica limit.
# Infrastructure and Instance Types
Source: https://docs.aieev.com/docs/reference/infrastructure-and-resource-types
Understand Cloud Types and GPU instance types
This page provides an overview of the infrastructure options and GPU instance types available in AirCloud.
## Cloud Types
Choose one of the following Cloud Types based on your workload requirements.
Designed for workloads that require high availability, predictable performance, and production-grade reliability. Recommended for production environments.
Uses infrastructure contributed by individuals, PC cafés, and infrastructure partners. Ideal for cost-sensitive workloads where minimizing cost is the highest priority.
## Instance Types
The following GPU instance types are available with AirCloud Plus.
| GPU Model | VRAM | System Memory | vCPUs |
| - | - | - | - |
| NVIDIA RTX 4070 Super | 12 GB | 9 GB | 8 |
| NVIDIA RTX 4070 Ti Super | 16 GB | 58 GB | 8 |
| NVIDIA RTX 4090 | 24 GB | 58 GB | 8 |
| NVIDIA RTX 5090 | 32 GB | 58 GB | 16 |
| NVIDIA RTX PRO 6000 | 96 GB | 58 GB | 16 |
The table above lists the GPU instance types generally available today. Additional types — including NPU and CPU-tier instances — are enabled per organization and appear in the container create flow only when your organization has access. The list in the console is always the authoritative one.
Renting a GPU long term, starting from one month, lowers the hourly rate. See [Long-term Rentals](/docs/console/long-term-rentals) for terms and payment, and the [Pricing page](https://www.aieev.com/pricing) for the latest rates.
### Recommended VRAM by Model Size
Choose an instance with sufficient GPU memory for your model.
| Model Size | Recommended VRAM | Recommended Instance |
| - | - | - |
| Up to 7B | 12 GB or more | RTX 4070 Super or higher |
| 13B | 16 GB or more | RTX 4070 Ti Super or higher |
| 30B | 24 GB or more | RTX 4090 or higher |
| 70B | 32 GB or more | RTX 5090 or higher |
| Multimodal or Very Large Models | 96 GB | RTX PRO 6000 |
## Choosing an Instance Type
Consider the following when selecting an instance type:
* Required response latency
* Model size and GPU memory requirements
* Expected request volume
* Replica strategy
* Whether Autoscaling will be enabled
## Related Documentation
Learn how to deploy a container and configure its resources.
Learn how to configure Autoscaling and Scheduled Scaling.
# Contact and Support
Source: https://docs.aieev.com/docs/support/contact-and-feedback
We're here to help you get the most out of AirCloud.
If you need help, have a technical inquiry, or want to request a model, reach out through the channels below.
Ask our AI assistant trained on AirCloud documentation.
Ask how-to questions and check your own account (GPUs, endpoints, usage, credits) in plain language, right inside the console.
Submit your inquiry through our Contact Us page.
For sales inquiries or technical support, feel free to reach out directly.
For general inquiries, email \
[hk.kim@aieev.com](mailto:hk.kim@aieev.com).
For technical inquiries, email \
[bspark@aieev.com](mailto:bspark@aieev.com).
## Ask from Inside the Console
For most product requests, the console is the fastest route — the request is recorded with the context we need, and you can track the reply on the **My requests** page.
| What you need | Where to ask |
| :- | :- |
| A GPU that is sold out | Join the waitlist from the GPU selection |
| A GPU model we don't offer | **Request a GPU** from the GPU selection |
| A framework or image that isn't a template | **Request a template** from the template picker |
| A model for Air API | **Request a model** from the Air API model list |
| More replicas | **Request limit increase** from the replica settings |
| A long-term rental | **Rental inquiry** from Long-term Rentals |
See [Requests and Waitlist](/docs/console/requests) for how requests are tracked and answered.
## What Can You Contact Us About?
* How to use Air API
* Air Container deployment issues
* Model addition requests
* Sales and technical consultation
* Onboarding and organization setup
* Other technical inquiries
## Helpful Information to Include
Providing the following details helps us respond faster.
* Organization or Project name
* Feature in use (e.g., Air API, Air Container)
* Description of the issue
* Steps to reproduce
* Screenshots or log output (if available)
* For model requests: model name, intended use case, expected traffic or scale, and preferred response speed or deployment type
## Common HTTP Errors
The following are frequently encountered issues and how to resolve them.
Authentication failed. Please verify your API key or access credentials.
The requested container ID or endpoint path is incorrect. Please check the container ID or route.
If an internal server error occurs, please try again later or contact the AirCloud support team at [**contact@aieev.com**](mailto:contact@aieev.com).
## Troubleshooting
Common issues encountered during use and how to resolve them.
* Symptom: API request authentication fails
* Cause: Expired or invalid API key
* Resolution:
* Verify that the API key is still valid (check expiration)
* Generate a new API key from the AirCloud dashboard
* Symptom: GPU not detected when starting a container
* Cause: Node instability or driver mismatch
* Resolution:
* Redeploy to a new instance
* Check compatibility between the container runtime and GPU driver
* Symptom: Container cannot connect to external endpoints
* Cause: Incorrect port configuration, DNS issue, or firewall blocking
* Resolution:
* Verify that the container exposes the correct port and the service is listening
* Test external connectivity using curl from inside the container
* Check that outbound traffic is not blocked in security group settings
* Symptom: Deployment stalls at the health check stage
* Cause: The /health endpoint is not returning HTTP 200 OK
* Resolution:
* Confirm the correct health check URL and port are exposed
* Review logs for error messages or model loading delays
* Symptom: No scaling occurs despite high load
* Cause: Scaling threshold set too high or replicas in an unhealthy state
* Resolution:
* Adjust autoscaling parameters such as CPU threshold and latency
* Ensure all replicas pass health checks
* Symptom: API returns a server error (502/503)
* Cause: Application not bound to the expected port or crashed during startup
* Resolution:
* Confirm the service is running on `0.0.0.0:`
* If model loading takes time, increase the health check timeout
# FAQ
Source: https://docs.aieev.com/docs/support/faq
Frequently asked questions about AirCloud
Start by creating an account, generating a secret key, and either deploying a container via **Air Container** or calling an AI model via **Air API**. The [Quickstart](/docs/get-started/quickstart) guide walks through the full process.
Yes. AirCloud uses a prepaid credit system. Credits are shown with the unit **C**, and for organizations in the KRW region 1 C equals KRW 1 of supply price. You need to top up credits before you can deploy containers or call APIs.
No. A secret key can only be viewed at the moment it is created. If you lose a key, delete it and generate a new one from the console.
After deployment, a container goes through image pulling and initialization before entering **Running** state. This may take a few minutes depending on image size and GPU availability. If the container transitions to **Deploy Failed**, check the logs for the specific error.
**Autoscaling** adjusts the replica count automatically in response to real-time traffic. **Scheduled Scaling** sets replica counts on a fixed schedule — useful for predictable traffic patterns like business hours. See the [Autoscaling and Scheduling](/docs/air-container/autoscaling-and-scheduling) guide for configuration details.
Check the [Troubleshooting](/docs/air-container/troubleshooting) guide for common issues. For direct support, use the chat widget in the console or contact us at [support@aieev.com](mailto:support@aieev.com).
# Release Notes
Source: https://docs.aieev.com/docs/support/release-notes
AirCloud documentation update history
## 2026-10
### New pages
* **Air Assistant**: New Console page for the beta in-console assistant that answers questions from the docs and your own account: getting started, what it can look up, what is not supported yet, panel controls, and data handling and permissions.
## 2026-09
### Corrections
* **Cancelling a Payment and Refunds**: The refund policy on the Billing page now matches how the console behaves. There is no 7-day limit, the full amount including VAT is refunded, and the page explains how the payer cancels a card or PayPal payment (auto top-up included) whose credits have not been used at all.
* **Deleting an Organization**: Added the "cancellable card payments" notice to the confirmation list, and made explicit that they must be cancelled from Payment History before deleting.
## 2026-08
### New pages
* **Long-term Rentals**: New Console page covering terms, discounts, payment, status, cancellation and refunds, and how a rental applies to your containers. Replaces the outdated "Reserved Instances" section in Organization Management.
* **Requests and Waitlist**: New Console page for the waitlist, replica limit increases, and GPU/template/model requests, and how they are tracked in My requests.
* **Account Settings**: New Console page for profile name, password change, email preferences, and account withdrawal.
* **Deleting an Organization**: New Console page listing what must be settled before deletion and what is irrecoverably removed.
* **GPU Availability and Limits**: New Reference page on availability badges, the separate persistent-volume node pool, and replica limits.
* **Deployment Error Codes**: New Reference page documenting every code shown in the Error Details dialog, with what to do about each.
### API Reference
* **Spec synced with the running API**: Verified the External API spec against the schema the production service publishes, and added the fields that were missing — `tags` on the endpoint list and status responses, the RFC 9457 `error` object on the status response, `auth_mode` on the PATCH request and response, and the `project_id` query parameter on the endpoint list.
* **Endpoint URL examples**: `serving_endpoint_url` examples now use the unified `https://ap-1.aieev.cloud/endpoints/` form instead of the retired cluster-numbered path.
### Corrections
* **Credit unit**: Replaced "AU" with the credit unit **C** used across the console. Documented the purchase range (10,000 C – 10,000,000 C).
* **Model catalog**: Removed a model that is not offered, added **DeepSeek V4 Flash** and the new **Qwen3.8-27B** to the supported model list, and corrected all KRW prices to the live catalog. TTS is now correctly priced per 1,000 characters rather than per million tokens.
* **Container status**: Aligned the state names with the console — READY, RUNNING, UPDATING, DEPLOY FAILED, UNHEALTHY.
* **Persistent volume**: Corrected the size range to 1–1,000 GB (default 30 GB). Documented resizing while running and mounting one volume at several paths.
* **Runtime logs**: Rewrote the logs section for the current replica-based viewer — log level and source filters, a 7-day default window, and per-replica or bulk download.
* **Templates**: Replaced the old category table with the current workload / interface / variant grouping, and corrected the save-as-template fields.
* **Desktop notifications**: The toggle moved from profile settings to the Notifications settings tab.
* **Monitoring**: Removed the Task Errors metric, which no longer exists.
* **Air API troubleshooting**: Replaced unresolved placeholders with the actual behavior for rate limits, model access, and status announcements.
### Improvements
* **Notifications**: Rewrote the page as a full event-by-channel reference covering every notification, its recipients, and the 30-day console retention.
* **Deploy a Container**: Documented shared memory (`/dev/shm`), the editable container ID and its public URL, and how GPU availability affects selection.
* **Container Runtime Reference**: Corrected field names to match the console and added shared memory, the public URL format, and the injected `AIRCLOUD_AUTHORIZED_KEYS` variable.
* **Contact and Feedback**: Added the in-console request routes as the primary channel for product requests.
* **Fixes**: Repaired duplicated sentences and table headers on the Concepts and Billing pages, and corrected broken internal links across the FAQ, API Reference introduction, and release notes.
***
## 2026-07
### API Reference
* **API Base URL Update**: The External API base URL changed from `https://external.aieev.cloud:5007` to `https://external.aieev.cloud:5000`. Updated the OpenAPI spec, API examples, and the AirCloud CLI setup guides accordingly.
***
## 2026-06
### Air Container
* **Container Management**: The "Start/Stop/Restart" page has been reorganized as **Container Management**, consolidating lifecycle controls under a single section.
* **Container Tags**: You can now group containers with user-defined tags and filter the list by tag.
* **Deploy a Container — Replica Quota**: Added guidance on quota limits and how to request an increase. Added Waitlist instructions for high-demand GPU models.
* **Persistent Volume — Change while stopped**: Documented how to activate, deactivate, or swap volumes while a container is in Pending state.
* **SSH Key Per-Container Application**: Added instructions for applying SSH keys to specific containers and enabling/disabling keys without deletion.
* **Web Terminal — Replica selection**: Documented replica selection in the web terminal and auto-reconnect behavior.
### Air API
* **Monitoring**: Added a new Monitoring page for Air API, covering project-level metrics (request count, latency, token usage, error rate) and organization-level usage aggregation.
* **API Usage Guide**: Added Shell (bash/curl) code examples alongside Python, Node.js, and cURL for Chat, TTS, and Embedding models.
* **Models and Playground**: Updated model display names shown in usage charts and request logs.
### Reference
* **Infrastructure and Resource Types**: Added a new reference page documenting AirCloud Plus and AirCloud Zero infrastructure options, available GPU instance specs, and VRAM guidance by model size.
### Console
* **Billing**: Added Refund Policy section documenting AU refund eligibility and the refund request process.
### Support
* **FAQ**: Converted FAQ to accordion format for easier navigation.
### Get Started
* **What is AirCloud?**: Restructured the index page to separate deployment method selection (Air API / Air Container) from infrastructure option selection (AirCloud Zero / AirCloud Plus). Updated Next Steps to include an Authentication card.
***
## 2026-04
### Air Container
* **Autoscaling**: Added documentation for replica-based autoscaling configuration.
* **Scheduled Scaling**: Added documentation for time-based scheduled scaling.
* **Monitoring and Troubleshooting**: Added container metrics reference and common error resolution guide.
### Air API
* **Models and Playground**: Added Playground usage guide and model selection documentation.
* **API Usage Guide**: Added OpenAI SDK migration guide and full code examples for Chat, TTS, and Embedding.
### Get Started
* **Authentication**: Added secret key generation and management guide.
* **Concepts**: Added infrastructure concepts page covering AirCloud Plus and AirCloud Zero.
# DeepSeek V4 Flash
Source: https://docs.aieev.com/models/deepseek-v4-flash
Efficiency-optimized MoE model for fast, low-cost inference.
**Model ID:** `deepseek/deepseek-v4-flash` | **Endpoint ID:** `deepseek-v4-flash` | **Parameters:** 284B (MoE, 13B active) | **Released:** 2026-04-24
| Input Price | Output Price | Context | Modality |
| :-: | :-: | :-: | :-: |
| \$0.100 / 1M | \$0.200 / 1M | 131,072 | text → text |
## Overview
DeepSeek V4 Flash is DeepSeek's efficiency-optimized Mixture-of-Experts model. Out of 284B total parameters, only 13B are activated per token, delivering fast responses at low cost. It's well suited for workloads where speed and cost matter, such as coding assistants, chatbots, and agentic workflows. The model supports a context window of up to 131,072 tokens.
Try the model in the playground.
Deploy with AIR Container.
Connect with the OpenAI SDK as-is.
## Pricing
| Currency | Input (1M tokens) | Output (1M tokens) |
| :- | -: | -: |
| USD | \$0.100 | \$0.200 |
| KRW | ₩145 | ₩290 |
## Supported Features
All features are available through the [OpenAI Compatible API](/docs/air-api/openai-compatible-api).
| Feature | Supported | Notes |
| :- | :-: | :- |
| [Streaming](/docs/air-api/openai-compatible-api#streaming) | ✅ | SSE, `include_usage` supported |
| [Tool Calling](/docs/air-api/openai-compatible-api#tool-calling-function-calling) | ✅ | Multiple calls supported, controllable via `parallel_tool_calls` |
| [Vision](/docs/air-api/openai-compatible-api#vision-image-input) | ❌ | Not supported |
| [Reasoning](/docs/air-api/openai-compatible-api#reasoning) | ✅ | The reasoning trace is returned separately in the `reasoning` field. Disable via `enable_thinking: false`. |
| [JSON Mode](/docs/air-api/openai-compatible-api#json-mode-structured-outputs) | ✅ | `response_format: json_object` |
| logprobs | ✅ | `logprobs` / `top_logprobs` |
## Key Features
* Sparse MoE activation (13B of 284B) for fast, low-cost inference
* Reasoning (thinking) support that can be disabled when not needed
* Tool calling and JSON mode support
* Optimized for coding and agentic workloads
## Use Cases
### Coding Assistant
Generate and explain code for practical development tasks.
```text Input theme={null}
Write a Python function to check if a number is prime and explain the logic.
```
```python Output theme={null}
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# This function checks divisibility only up to the square root of n,
# which improves efficiency.
```
### Agentic Workflows
```text Input theme={null}
Given a list of files in a directory, write a plan to find and delete all files older than 30 days.
```
```text Output theme={null}
1. List all files with their last-modified timestamps.
2. Compute the cutoff date (today - 30 days).
3. Filter files whose modified time is before the cutoff.
4. Confirm the filtered list, then delete each file.
5. Log the deleted file names for auditing.
```
### General Chat
Handle everyday conversation and general-purpose Q\&A quickly and at low cost.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `messages` | array | Required | - | List of input messages for chat-based generation. |
| `max_tokens` | integer | Optional | - | Maximum output tokens to generate |
| `temperature` | number | Optional | 1 | Sampling temperature (0.0-2.0) |
| `top_p` | number | Optional | 1 | Nucleus sampling threshold |
| `top_k` | integer | Optional | - | Limit sampling to the top-k most likely tokens |
| `min_p` | number | Optional | - | Minimum probability threshold for token sampling |
| `frequency_penalty` | number | Optional | 0 | Penalty for token frequency |
| `presence_penalty` | number | Optional | 0 | Penalty for token presence |
| `repetition_penalty` | number | Optional | - | Penalty for repeated token generation |
| `stop` | string \| array | Optional | - | Stop sequence(s) that end generation |
| `seed` | integer | Optional | - | Random seed for reproducible sampling |
| `stream` | boolean | Optional | false | Enable streaming responses |
| `tools` | array | Optional | - | Tool calling function definitions |
| `tool_choice` | string \| object | Optional | auto | How tools are invoked (`auto`, `none`, or a specific function) |
| `response_format` | object | Optional | - | JSON mode (`{"type": "json_object"}`) |
| `logprobs` | boolean | Optional | false | Return per-token log probabilities |
## Model Details
| Property | Value |
| - | - |
| Context Length | 131,072 |
| Max Output Length | 131,072 |
| Input Modalities | text |
| Output Modalities | text |
| Supported Features | tools, reasoning, streaming, json\_mode, logprobs |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language (Python, cURL, Node.js).
```python Python theme={null}
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ap-1.aieev.cloud/endpoints/deepseek-v4-flash/v1"
)
response = client.chat.completions.create(
model="deepseek/deepseek-v4-flash",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
```
```bash cURL theme={null}
curl https://ap-1.aieev.cloud/endpoints/deepseek-v4-flash/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4-flash",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
```javascript Node.js theme={null}
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://ap-1.aieev.cloud/endpoints/deepseek-v4-flash/v1",
});
const response = await client.chat.completions.create({
model: "deepseek/deepseek-v4-flash",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```
## Tags
`open-source` `conversational` `moe` `reasoning` `efficient`
# Available Models
Source: https://docs.aieev.com/models/index
Browse all available AI models on AirCloud.
AirCloud provides access to a variety of AI models for inference. Models are accessible through the Air API using an OpenAI-compatible interface.
## Text models
Conversational AI, reasoning, and code generation.
| Model | Description | Input | Output |
| - | - | - | - |
| [Qwen3.8-27B](/models/qwen3-8-27b) | Compact dense vision-language model for agentic and long-horizon work. | \$0.400/1M tokens | \$3.000/1M tokens |
| [Qwen3.6-35B-A3B](/models/qwen3-6-35b-a3b) | High-performance MoE model with multimodal support. | \$0.140/1M tokens | \$1.000/1M tokens |
| [Qwen3.5-9B](/models/qwen3-5-9b) | Compact and efficient model with multimodal support. | \$0.100/1M tokens | \$0.150/1M tokens |
| [Qwen3-32B](/models/qwen3-32b) | Dense 32B model with hybrid reasoning. | \$0.080/1M tokens | \$0.280/1M tokens |
| [Llama3.3-70B](/models/llama3-3-70b) | Meta's multilingual 70B instruct model. | \$0.100/1M tokens | \$0.320/1M tokens |
| [DeepSeek V4 Flash](/models/deepseek-v4-flash) | Efficiency-optimized MoE model for fast, low-cost inference. | \$0.100/1M tokens | \$0.200/1M tokens |
## Embedding models
Vector embeddings for semantic search and RAG.
| Model | Description | Input | Output |
| - | - | - | - |
| [Qwen3-Embedding-8B](/models/qwen3-embedding-8b) | Multilingual embedding model with 4,096-dimensional vectors. | \$0.010/1M tokens | \$0.000/1M tokens |
## Audio models
Text-to-speech and voice synthesis.
| Model | Description | Input | Output |
| - | - | - | - |
| [Qwen3-TTS](/models/qwen3-tts) | Multilingual TTS with custom voice cloning. | \$0.080/1,000 characters | \$0.000 |
## Getting Started
Sign up for an [AirCloud account](https://aieev.com) and generate an API key from the dashboard.
Replace `YOUR_API_KEY` with your actual key and run the code below.
```python Python theme={null}
import requests
response = requests.post(
"https://ap-1.aieev.cloud/endpoints/qwen3-5-9b/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "qwen/qwen3.5-9b",
"messages": [{"role": "user", "content": "Hello!"}]
}
)
result = response.json()
print(result["choices"][0]["message"]["content"])
```
```bash cURL theme={null}
curl --request POST \
--url https://ap-1.aieev.cloud/endpoints/qwen3-5-9b/v1/chat/completions \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen/qwen3.5-9b",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
```javascript Node.js theme={null}
const response = await fetch(
"https://ap-1.aieev.cloud/endpoints/qwen3-5-9b/v1/chat/completions",
{
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "qwen/qwen3.5-9b",
messages: [{ role: "user", content: "Hello!" }]
})
}
);
const result = await response.json();
console.log(result.choices[0].message.content);
```
# Llama3.3-70B
Source: https://docs.aieev.com/models/llama3-3-70b
Meta's multilingual 70B instruct model for general-purpose chat and text tasks.
**Model ID:** `meta-llama/meta-llama-3.3-70b-instruct` | **Endpoint ID:** `llama3-3-70b-instruct` | **Parameters:** 70B | **Released:** 2024-12-06
| Input Price | Output Price | Context | Modality |
| :-: | :-: | :-: | :-: |
| \$0.100 / 1M | \$0.320 / 1M | 131,072 | text → text |
## Overview
Meta Llama 3.3 70B Instruct is a dense 70B-parameter model fine-tuned for instruction following and conversational use. It delivers strong multilingual instruction following across a wide range of languages and supports a 131,072-token context window for long conversations and documents. Built on the proven open-source Llama family, it is well suited for general-purpose chat, summarization, and coding assistance. The model focuses on reliable text generation rather than reasoning traces or multimodal input.
Try the model in the playground.
Deploy with AIR Container.
Connect with the OpenAI SDK as-is.
## Pricing
| Currency | Input (1M tokens) | Output (1M tokens) |
| :- | -: | -: |
| USD | \$0.100 | \$0.320 |
| KRW | ₩145 | ₩464 |
## Supported Features
All features are available through the [OpenAI Compatible API](/docs/air-api/openai-compatible-api).
| Feature | Supported | Notes |
| :- | :-: | :- |
| [Streaming](/docs/air-api/openai-compatible-api#streaming) | ✅ | SSE, `include_usage` supported |
| [Tool Calling](/docs/air-api/openai-compatible-api#tool-calling-function-calling) | ✅ | Streaming tool calls supported |
| [Vision](/docs/air-api/openai-compatible-api#vision-image-input) | ❌ | Not supported |
| [Reasoning](/docs/air-api/openai-compatible-api#reasoning) | ❌ | Not supported |
| [JSON Mode](/docs/air-api/openai-compatible-api#json-mode-structured-outputs) | ✅ | `response_format: json_object` |
## Key Features
* Strong multilingual instruction following across a wide range of languages
* 128K-token context window for long conversations and documents
* Tool calling and JSON mode support for structured, agentic workflows
* Built on the proven open-source Llama family
## Use Cases
### General Q\&A & Conversation
Handle general-purpose Q\&A and multi-turn conversation with reliable instruction following.
```text Input theme={null}
Explain how transformers work in simple terms and give a real-world analogy.
```
```text Output theme={null}
Transformers process text by modeling relationships between tokens in parallel
rather than strictly one by one...
A simple analogy is a group discussion where each person listens to everyone
else to understand the full context before responding.
```
### Code Generation & Assistance
Generate and explain code for practical development tasks.
```text Input theme={null}
Write a Python function to check if a number is prime and explain the logic.
```
```python Output theme={null}
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# This function checks divisibility only up to the square root of n,
# which improves efficiency.
```
### Summarization & Analysis
Summarize long documents and analyze text content across multiple languages.
### Multilingual Conversation
Carry on natural conversations and follow instructions across many languages with consistent quality.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `messages` | array | Required | - | List of input messages for chat-based generation. |
| `max_tokens` | integer | Optional | - | Maximum output tokens to generate |
| `temperature` | number | Optional | 1 | Sampling temperature (0.0-2.0) |
| `top_p` | number | Optional | 1 | Nucleus sampling threshold |
| `top_k` | integer | Optional | - | Limit sampling to the top-k most likely tokens |
| `min_p` | number | Optional | - | Minimum probability threshold for token sampling |
| `frequency_penalty` | number | Optional | 0 | Penalty for token frequency |
| `presence_penalty` | number | Optional | 0 | Penalty for token presence |
| `repetition_penalty` | number | Optional | - | Penalty for repeated token generation |
| `stop` | string \| array | Optional | - | Stop sequence(s) that end generation |
| `seed` | integer | Optional | - | Random seed for reproducible sampling |
| `stream` | boolean | Optional | false | Enable streaming responses |
| `tools` | array | Optional | - | Tool calling function definitions |
| `tool_choice` | string \| object | Optional | auto | How tools are invoked (`auto`, `none`, or a specific function) |
| `response_format` | object | Optional | - | JSON mode (`{"type": "json_object"}`) |
## Model Details
| Property | Value |
| - | - |
| Context Length | 131,072 |
| Max Output Length | 131,072 |
| Input Modalities | text |
| Output Modalities | text |
| Supported Features | tools, streaming, json\_mode |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language (Python, cURL, Node.js).
```python Python theme={null}
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ap-1.aieev.cloud/endpoints/llama3-3-70b-instruct/v1"
)
response = client.chat.completions.create(
model="meta-llama/meta-llama-3.3-70b-instruct",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
```
```bash cURL theme={null}
curl https://ap-1.aieev.cloud/endpoints/llama3-3-70b-instruct/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/meta-llama-3.3-70b-instruct",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
```javascript Node.js theme={null}
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://ap-1.aieev.cloud/endpoints/llama3-3-70b-instruct/v1",
});
const response = await client.chat.completions.create({
model: "meta-llama/meta-llama-3.3-70b-instruct",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```
## Tags
`open-source` `conversational` `70B` `multilingual`
# Qwen3-32B
Source: https://docs.aieev.com/models/qwen3-32b
Dense 32B model with hybrid reasoning for general-purpose text tasks.
**Model ID:** `qwen/qwen3-32b` | **Endpoint ID:** `qwen3-32b` | **Parameters:** 32B | **Released:** 2025-04-29
| Input Price | Output Price | Context | Modality |
| :-: | :-: | :-: | :-: |
| \$0.080 / 1M | \$0.280 / 1M | 40,960 | text → text |
## Overview
Qwen3-32B is a 32B-parameter dense model from the Qwen3 generation. It supports hybrid reasoning (thinking mode), working through complex problems step by step before answering while responding quickly for everyday conversation. The model shows strong multilingual understanding and generation, along with solid coding and math capabilities. It supports a context window of up to 40,960 tokens.
Try the model in the playground.
Deploy with AIR Container.
Connect with the OpenAI SDK as-is.
## Pricing
| Currency | Input (1M tokens) | Output (1M tokens) |
| :- | -: | -: |
| USD | \$0.080 | \$0.280 |
| KRW | ₩116 | ₩406 |
## Supported Features
All features are available through the [OpenAI Compatible API](/docs/air-api/openai-compatible-api).
| Feature | Supported | Notes |
| :- | :-: | :- |
| [Streaming](/docs/air-api/openai-compatible-api#streaming) | ✅ | SSE, `include_usage` supported |
| [Tool Calling](/docs/air-api/openai-compatible-api#tool-calling-function-calling) | ✅ | Parallel and streaming tool calls supported |
| [Vision](/docs/air-api/openai-compatible-api#vision-image-input) | ❌ | Not supported |
| [Reasoning](/docs/air-api/openai-compatible-api#reasoning) | ✅ | Reasoning arrives inline as `` tags inside `content`, not in the `reasoning` field. Disable via `enable_thinking: false`. |
| [JSON Mode](/docs/air-api/openai-compatible-api#json-mode-structured-outputs) | ✅ | `response_format: json_object` |
| logprobs | ✅ | `logprobs` / `top_logprobs` |
## Key Features
* Stable, high-quality output from a 32B dense architecture
* Hybrid reasoning (thinking mode) that can be toggled on or off
* Strong multilingual, coding, and math performance
* Tool calling and JSON mode support for structured, agentic workflows
## Use Cases
### Complex Q\&A & Reasoning
Work through multi-step problems by reasoning before answering.
```text Input theme={null}
A train leaves station A at 60 km/h. Two hours later, a second train leaves the same station at 90 km/h in the same direction. How long does it take the second train to catch up?
```
```text Output theme={null}
The first train has a 2-hour head start, covering 120 km before the second
train departs. The second train closes the gap at 90 - 60 = 30 km/h, so it
needs 120 / 30 = 4 hours to catch up.
It takes the second train 4 hours to catch up.
```
### Code Generation & Assistance
Generate and explain code for practical development tasks.
```text Input theme={null}
Write a Python function to check if a number is prime and explain the logic.
```
```python Output theme={null}
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# This function checks divisibility only up to the square root of n,
# which improves efficiency.
```
### Document Summarization
Summarize long documents and extract key points across multiple languages.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `messages` | array | Required | - | List of input messages for chat-based generation. |
| `max_tokens` | integer | Optional | - | Maximum output tokens to generate |
| `temperature` | number | Optional | 1 | Sampling temperature (0.0-2.0) |
| `top_p` | number | Optional | 1 | Nucleus sampling threshold |
| `top_k` | integer | Optional | - | Limit sampling to the top-k most likely tokens |
| `min_p` | number | Optional | - | Minimum probability threshold for token sampling |
| `frequency_penalty` | number | Optional | 0 | Penalty for token frequency |
| `presence_penalty` | number | Optional | 0 | Penalty for token presence |
| `repetition_penalty` | number | Optional | - | Penalty for repeated token generation |
| `stop` | string \| array | Optional | - | Stop sequence(s) that end generation |
| `seed` | integer | Optional | - | Random seed for reproducible sampling |
| `stream` | boolean | Optional | false | Enable streaming responses |
| `tools` | array | Optional | - | Tool calling function definitions |
| `tool_choice` | string \| object | Optional | auto | How tools are invoked (`auto`, `none`, or a specific function) |
| `response_format` | object | Optional | - | JSON mode (`{"type": "json_object"}`) |
| `logprobs` | boolean | Optional | false | Return per-token log probabilities |
## Model Details
| Property | Value |
| - | - |
| Context Length | 40,960 |
| Max Output Length | 40,960 |
| Input Modalities | text |
| Output Modalities | text |
| Supported Features | tools, reasoning, streaming, json\_mode, logprobs |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language (Python, cURL, Node.js).
```python Python theme={null}
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ap-1.aieev.cloud/endpoints/qwen3-32b/v1"
)
response = client.chat.completions.create(
model="qwen/qwen3-32b",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
```
```bash cURL theme={null}
curl https://ap-1.aieev.cloud/endpoints/qwen3-32b/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3-32b",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
```javascript Node.js theme={null}
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://ap-1.aieev.cloud/endpoints/qwen3-32b/v1",
});
const response = await client.chat.completions.create({
model: "qwen/qwen3-32b",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```
## Tags
`open-source` `conversational` `32B` `reasoning` `multilingual`
# Qwen3.5-9B
Source: https://docs.aieev.com/models/qwen3-5-9b
Compact and efficient 9B language model with multimodal support.
**Model ID:** `qwen/qwen3.5-9b` | **Endpoint ID:** `qwen3-5-9b` | **Parameters:** 9B | **Released:** 2026-03-10
| Input Price | Output Price | Context | Modality | Quantization |
| :-: | :-: | :-: | :-: | :-: |
| \$0.100 / 1M | \$0.150 / 1M | 262,144 | text + image → text | FP8 |
## Overview
Qwen 3.5 9B is a compact yet capable open-source language model designed to balance performance and efficiency. It supports multilingual understanding and generation, long-context inference up to 262,144 tokens, and multimodal input with text and image support while producing text outputs. Compared with larger models, it offers lower serving cost and faster inference, making it well suited for chat assistants, coding help, document summarization, visual understanding, and other real-time AI applications.
Try the model in the playground.
Deploy with AIR Container.
Connect with the OpenAI SDK as-is.
## Pricing
| Currency | Input (1M tokens) | Output (1M tokens) |
| :- | -: | -: |
| USD | \$0.100 | \$0.150 |
| KRW | ₩145 | ₩217.5 |
## Supported Features
All features are available through the [OpenAI Compatible API](/docs/air-api/openai-compatible-api).
| Feature | Supported | Notes |
| :- | :-: | :- |
| [Streaming](/docs/air-api/openai-compatible-api#streaming) | ✅ | SSE, `include_usage` supported |
| [Tool Calling](/docs/air-api/openai-compatible-api#tool-calling-function-calling) | ✅ | Parallel and streaming tool calls supported |
| [Vision](/docs/air-api/openai-compatible-api#vision-image-input) | ✅ | Up to 1 image per request |
| [Reasoning](/docs/air-api/openai-compatible-api#reasoning) | ✅ | Returned separately in the `reasoning` field, can be disabled |
| [JSON Mode](/docs/air-api/openai-compatible-api#json-mode-structured-outputs) | ✅ | `response_format: json_object` |
| logprobs | ✅ | `logprobs` / `top_logprobs` |
## Key Features
* Efficient 9B model well suited for cost- and latency-sensitive deployments
* Strong multilingual understanding and generation
* Efficient serving through FP8 quantization
* Compatible with optimized inference runtimes such as vLLM
## Use Cases
### General Q\&A
Handle general-purpose Q\&A with efficient reasoning and context understanding.
```text Input theme={null}
Explain how transformers work in simple terms and give a real-world analogy.
```
```text Output theme={null}
Transformers process text by modeling relationships between tokens in parallel
rather than strictly one by one...
A simple analogy is a group discussion where each person listens to everyone
else to understand the full context before responding.
```
### Code Generation & Assistance
Generate and explain code efficiently for practical development tasks.
```text Input theme={null}
Write a Python function to check if a number is prime and explain the logic.
```
```python Output theme={null}
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# This function checks divisibility only up to the square root of n,
# which improves efficiency.
```
### Summarization & Analysis
Perform efficient summarization and lightweight analysis of long documents.
### Visual Understanding
Understand image inputs and generate text-based explanations or insights.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `messages` | array | Required | - | List of input messages for chat-based generation. Supports text and image content. |
| `max_tokens` | integer | Optional | - | Maximum output tokens to generate |
| `temperature` | number | Optional | 1 | Sampling temperature (0.0-2.0) |
| `top_p` | number | Optional | 1 | Nucleus sampling threshold |
| `top_k` | integer | Optional | - | Limit sampling to the top-k most likely tokens |
| `min_p` | number | Optional | - | Minimum probability threshold for token sampling |
| `frequency_penalty` | number | Optional | 0 | Penalty for token frequency |
| `presence_penalty` | number | Optional | 0 | Penalty for token presence |
| `repetition_penalty` | number | Optional | - | Penalty for repeated token generation |
| `stop` | string \| array | Optional | - | Stop sequence(s) that end generation |
| `seed` | integer | Optional | - | Random seed for reproducible sampling |
| `stream` | boolean | Optional | false | Enable streaming responses |
| `tools` | array | Optional | - | Tool calling function definitions |
| `tool_choice` | string \| object | Optional | auto | How tools are invoked (`auto`, `none`, or a specific function) |
| `response_format` | object | Optional | - | JSON mode (`{"type": "json_object"}`) |
| `logprobs` | boolean | Optional | false | Return per-token log probabilities |
## Model Details
| Property | Value |
| - | - |
| Context Length | 262,144 |
| Max Output Length | 262,144 |
| Quantization | fp8 |
| Input Modalities | text, image (max 1 image per request) |
| Output Modalities | text |
| Supported Features | tools, reasoning, streaming, vision, json\_mode, logprobs |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language (Python, cURL, Node.js).
```python Python theme={null}
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ap-1.aieev.cloud/endpoints/qwen3-5-9b/v1"
)
response = client.chat.completions.create(
model="qwen/qwen3.5-9b",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
```
```bash cURL theme={null}
curl https://ap-1.aieev.cloud/endpoints/qwen3-5-9b/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3.5-9b",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
```javascript Node.js theme={null}
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://ap-1.aieev.cloud/endpoints/qwen3-5-9b/v1",
});
const response = await client.chat.completions.create({
model: "qwen/qwen3.5-9b",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```
## Tags
`open-source` `conversational` `9B` `reasoning` `multilingual` `efficient` `vision`
# Qwen3.6-35B-A3B
Source: https://docs.aieev.com/models/qwen3-6-35b-a3b
High-performance mixture-of-experts model with multimodal support.
**Model ID:** `qwen/qwen3.6-35b-a3b` | **Endpoint ID:** `qwen3-6-35b-a3b` | **Parameters:** 35B (A3B MoE) | **Released:** 2026-04-27
| Input Price | Output Price | Context | Modality | Quantization |
| :-: | :-: | :-: | :-: | :-: |
| \$0.140 / 1M | \$1.000 / 1M | 262,144 | text + image → text | FP8 |
## Overview
Qwen 3.6 35B (A3B) is a mixture-of-experts (MoE) large language model designed to deliver strong performance with efficient inference. It uses sparse activation, where only a subset of parameters is activated per token, enabling a better balance between capability and serving cost. Compared to smaller models such as 9B variants, it offers improved reasoning, coding, and analytical performance for more complex workloads. The model supports long-context inference up to 262,144 tokens and multimodal input (text and image), making it suitable for advanced assistants, backend automation, multimodal understanding, and large-scale inference systems.
Try the model in the playground.
Deploy with AIR Container.
Connect with the OpenAI SDK as-is.
## Pricing
| Currency | Input (1M tokens) | Output (1M tokens) |
| :- | -: | -: |
| USD | \$0.140 | \$1.000 |
| KRW | ₩203 | ₩1,450 |
## Supported Features
All features are available through the [OpenAI Compatible API](/docs/air-api/openai-compatible-api).
| Feature | Supported | Notes |
| :- | :-: | :- |
| [Streaming](/docs/air-api/openai-compatible-api#streaming) | ✅ | SSE, `include_usage` supported |
| [Tool Calling](/docs/air-api/openai-compatible-api#tool-calling-function-calling) | ✅ | Parallel and streaming tool calls supported |
| [Vision](/docs/air-api/openai-compatible-api#vision-image-input) | ✅ | Up to 4 images per request |
| [Reasoning](/docs/air-api/openai-compatible-api#reasoning) | ✅ | Returned separately in the `reasoning` field, can be disabled |
| [JSON Mode](/docs/air-api/openai-compatible-api#json-mode-structured-outputs) | ✅ | `response_format: json_object` |
| logprobs | ✅ | `logprobs` / `top_logprobs` |
## Key Features
* Mixture-of-Experts (MoE, A3B) architecture with sparse activation for efficient scaling
* Stronger reasoning and coding performance compared to smaller models such as 9B variants
* Supports long-context inference up to 262,144 tokens
* Multimodal capability with text and image input support (max 4 images per request; exceeding the limit returns a 400 error)
* Strong multilingual understanding and generation
* Efficient inference through sparse expert activation
* Compatible with high-throughput serving engines such as vLLM
* Provided in FP8 format for efficient deployment
## Use Cases
### Complex Q\&A
Handle complex multi-step reasoning and analytical queries.
```text Input theme={null}
Compare transformer-based models and mixture-of-experts models
in terms of scalability and efficiency.
```
```text Output theme={null}
Transformer models scale by increasing parameter count and compute,
while MoE models improve efficiency by activating only a subset of
parameters per token...
MoE advantages:
1. Higher parameter capacity with lower compute cost
2. Better scalability across distributed systems
3. Improved efficiency for large-scale inference workloads
```
### Advanced Code Generation
Generate production-level code and system design explanations.
```text Input theme={null}
Design a scalable distributed task queue system using Python
and explain key components.
```
```text Output theme={null}
A scalable distributed task queue system can be built using components
such as a message broker (Redis/Kafka), worker nodes, and a task scheduler...
Key components:
- Producer: submits tasks
- Broker: queues tasks
- Worker: executes tasks
- Result backend: stores results
```
### Deep Analysis & Summarization
Perform deeper document understanding and insight extraction.
### Visual Understanding
Analyze images and extract insights through multimodal reasoning.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `messages` | array | Required | - | List of input messages for chat-based generation. Supports text and image content. |
| `max_tokens` | integer | Optional | - | Maximum output tokens to generate |
| `temperature` | number | Optional | 1 | Sampling temperature (0.0-2.0) |
| `top_p` | number | Optional | 1 | Nucleus sampling threshold |
| `top_k` | integer | Optional | - | Limit sampling to the top-k most likely tokens |
| `min_p` | number | Optional | - | Minimum probability threshold for token sampling |
| `frequency_penalty` | number | Optional | 0 | Penalty for token frequency |
| `presence_penalty` | number | Optional | 0 | Penalty for token presence |
| `repetition_penalty` | number | Optional | - | Penalty for repeated token generation |
| `stop` | string \| array | Optional | - | Stop sequence(s) that end generation |
| `seed` | integer | Optional | - | Random seed for reproducible sampling |
| `stream` | boolean | Optional | false | Enable streaming responses |
| `tools` | array | Optional | - | Tool calling function definitions |
| `tool_choice` | string \| object | Optional | auto | How tools are invoked (`auto`, `none`, or a specific function) |
| `response_format` | object | Optional | - | JSON mode (`{"type": "json_object"}`) |
| `logprobs` | boolean | Optional | false | Return per-token log probabilities |
## Model Details
| Property | Value |
| - | - |
| Context Length | 262,144 |
| Max Output Length | 262,144 |
| Quantization | fp8 |
| Input Modalities | text, image (max 4 images per request) |
| Output Modalities | text |
| Supported Features | tools, reasoning, streaming, vision, json\_mode, logprobs |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language (Python, cURL, Node.js).
```python Python theme={null}
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ap-1.aieev.cloud/endpoints/qwen3-6-35b-a3b/v1"
)
response = client.chat.completions.create(
model="qwen/qwen3.6-35b-a3b",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
```
```bash cURL theme={null}
curl https://ap-1.aieev.cloud/endpoints/qwen3-6-35b-a3b/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3.6-35b-a3b",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
```javascript Node.js theme={null}
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://ap-1.aieev.cloud/endpoints/qwen3-6-35b-a3b/v1",
});
const response = await client.chat.completions.create({
model: "qwen/qwen3.6-35b-a3b",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```
## Tags
`open-source` `conversational` `35B` `reasoning` `multilingual` `moe` `high-performance`
# Qwen3.8-27B
Source: https://docs.aieev.com/models/qwen3-8-27b
Compact dense vision-language model for agentic and long-horizon work.
**Model ID:** `qwen/qwen3.8-27b` | **Endpoint ID:** `qwen-3-8-27b` | **Parameters:** 27B (dense) | **Released:** 2026-08-20
| Input Price | Output Price | Context | Modality | Quantization |
| :-: | :-: | :-: | :-: | :-: |
| \$0.400 / 1M | \$3.000 / 1M | 262,144 | text + image + video → text | BF16 |
## Overview
Built on the architectural foundation of Qwen3.5, Qwen3.8 delivers substantial gains across coding, professional work, research, and long-horizon agentic tasks. Qwen3.8-27B brings these advances to a compact, deployment-friendly dense model: a native vision-language model that understands images and videos, with flexible thinking control, designed to carry complex, multi-step tasks through to completion with greater reliability.
Try the model in the playground.
Deploy with AIR Container.
Connect with the OpenAI SDK as-is.
## Pricing
| Currency | Input (1M tokens) | Output (1M tokens) |
| :- | -: | -: |
| USD | \$0.400 | \$3.000 |
| KRW | ₩580 | ₩4,350 |
## Supported Features
All features are available through the [OpenAI Compatible API](/docs/air-api/openai-compatible-api).
| Feature | Supported | Notes |
| :- | :-: | :- |
| [Streaming](/docs/air-api/openai-compatible-api#streaming) | ✅ | SSE, `include_usage` supported |
| [Tool Calling](/docs/air-api/openai-compatible-api#tool-calling-function-calling) | ✅ | Parallel and streaming tool calls supported |
| [Vision](/docs/air-api/openai-compatible-api#vision-image-input) | ✅ | Images and video (`image_url`, `video_url`) |
| [Reasoning](/docs/air-api/openai-compatible-api#reasoning) | ✅ | Depth is tunable with `reasoning_effort` |
| [JSON Mode](/docs/air-api/openai-compatible-api#json-mode-structured-outputs) | ✅ | `json_object` and `json_schema` |
| logprobs | ✅ | `logprobs` / `top_logprobs` |
When streaming, this model returns reasoning in the `reasoning_content` delta field rather than `reasoning`.
## Key Features
* Native vision-language model — understands images and video without a separate adapter
* Flexible thinking control: turn reasoning on or off, and tune its depth with `reasoning_effort`
* Reasoning from previous turns can be preserved to keep multi-step decisions consistent
* Long-context inference up to 262,144 tokens, with up to 131,072 output tokens
* Strong agentic coding and tool use across multi-step tasks
* Multilingual across 13 languages including Korean, English, Chinese, and Japanese
* Served in BF16 for full-precision quality
## Use Cases
### Agentic Coding
Work through a repository across multiple steps rather than answering a single question.
```text Input theme={null}
This Flask endpoint returns 500 under concurrent load.
Find the race condition and patch it.
```
```text Output theme={null}
The counter increment is not atomic, so two requests can read the same
value before either writes back. Wrapping the update in a lock, or moving
the counter to an atomic backend, closes the lost-update window.
Patch follows.
```
### Document and Chart Understanding
Read charts, tables, scanned documents, and technical diagrams from images.
```text Input theme={null}
[chart image] What does this throughput curve tell us?
```
```text Output theme={null}
Throughput peaks at concurrency 32 and declines beyond it, which means
the batch scheduler saturates before the memory bound is reached.
```
### Video Understanding
Summarize long-form video and answer questions about what happens in it.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `messages` | array | Required | - | Chat messages. Content may be a string or an array of blocks (`text`, `image_url`, `video_url`). |
| `max_tokens` | integer | Optional | 32768 | Maximum output tokens, including reasoning tokens. |
| `temperature` | number | Optional | 1 | Sampling temperature. 1.0 in thinking mode, 0.7 in non-thinking mode. |
| `top_p` | number | Optional | 0.95 | Nucleus sampling. 0.95 thinking, 0.80 non-thinking. |
| `top_k` | integer | Optional | 20 | Top-k sampling. Set `-1` to disable. |
| `min_p` | number | Optional | 0 | Minimum probability threshold relative to the top token. |
| `presence_penalty` | number | Optional | 0 | Raise toward 2 to reduce endless repetition. |
| `frequency_penalty` | number | Optional | 0 | Supported but outside the recommended parameter set. |
| `repetition_penalty` | number | Optional | 1 | Passed through as an extra body field. |
| `reasoning_effort` | string | Optional | xhigh | Reasoning depth — `xhigh`, `medium`, or `low`. |
| `enable_thinking` | boolean | Optional | true | Emit a reasoning block before the answer. |
| `preserve_thinking` | boolean | Optional | true | Keep reasoning from previous turns for consistency. |
| `tools` | array | Optional | - | Tool definitions in OpenAI function-calling format. |
| `tool_choice` | string \| object | Optional | auto | Tool selection policy. |
| `response_format` | object | Optional | - | `json_object` for JSON mode, `json_schema` for structured outputs. |
| `stop` | array | Optional | - | Up to 4 strings that halt generation. Not applied inside the reasoning block. |
| `seed` | integer | Optional | - | Seed for reproducible sampling. |
| `logprobs` | boolean | Optional | false | Return log probabilities for output tokens. |
| `top_logprobs` | integer | Optional | - | Alternatives per position. Requires `logprobs`. |
| `stream` | boolean | Optional | false | Enable streaming. |
| `stream_options` | object | Optional | - | Set `include_usage` to receive token counts in the final chunk. |
## Model Details
| Property | Value |
| - | - |
| Context Length | 262,144 |
| Max Output Length | 131,072 |
| Quantization | bf16 |
| Input Modalities | text, image, video, file |
| Output Modalities | text |
| Supported Features | tools, reasoning, streaming, vision, json\_mode, structured\_outputs, logprobs, web\_search |
| Hugging Face ID | `Qwen/Qwen3.8-27B` |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language (Python, cURL, Node.js).
```python Python theme={null}
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ap-1.aieev.cloud/endpoints/qwen-3-8-27b/v1"
)
response = client.chat.completions.create(
model="qwen/qwen3.8-27b",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
```
```bash cURL theme={null}
curl https://ap-1.aieev.cloud/endpoints/qwen-3-8-27b/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3.8-27b",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
```javascript Node.js theme={null}
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://ap-1.aieev.cloud/endpoints/qwen-3-8-27b/v1",
});
const response = await client.chat.completions.create({
model: "qwen/qwen3.8-27b",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```
# Qwen3-Embedding-8B
Source: https://docs.aieev.com/models/qwen3-embedding-8b
Multilingual embedding model with 4,096-dimensional vectors and 32K input.
**Model ID:** `qwen/qwen3-embedding-8b` | **Endpoint ID:** `qwen3-embedding-8b` | **Parameters:** 8B | **Released:** 2025-06-05
| Input Price | Output Price | Max Input | Dimensions |
| :-: | :-: | :-: | :-: |
| \$0.010 / 1M | \$0.000 | 32,768 tokens | 4,096 |
## Overview
Qwen3-Embedding-8B is a multilingual text embedding model that converts input text into dense vector representations. It accepts up to 32,768 tokens of input and outputs 4,096-dimensional embedding vectors. The model is well suited for semantic search, retrieval-augmented generation (RAG), recommendation systems, and classification or clustering tasks.
Embedding models have no Playground — call them through the API.
Deploy with AIR Container.
Connect with the OpenAI SDK as-is.
## Pricing
| Currency | Input (1M tokens) | Output (1M tokens) |
| :- | -: | -: |
| USD | \$0.010 | \$0.000 |
| KRW | ₩14.5 | ₩0 |
## Key Features
* Multilingual embeddings across a wide range of languages
* Long input support up to 32,768 tokens
* High-quality 4,096-dimensional vector output
* Batch embedding for high-throughput processing
## Use Cases
### Semantic Search
Embed queries and documents into the same vector space to find results by meaning rather than exact keyword match.
### RAG (Retrieval-Augmented Generation)
Generate embeddings for a knowledge base and retrieve the most relevant passages to ground LLM responses in your own data.
### Recommendation Systems
Represent items and user preferences as vectors to power similarity-based recommendations.
### Classification & Clustering
Use embedding vectors as features for downstream classification or to group similar texts through clustering.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `model` | string | Required | - | Model ID to use for embedding generation |
| `input` | string \| array | Required | - | Text to embed. Accepts a single string or an array of strings for batch embedding |
## Model Details
| Property | Value |
| - | - |
| Dimensions | 4,096 |
| Max Input Length | 32,768 tokens |
| Input Modalities | text |
| Output | embedding |
| Batch Input | Supported (array of strings in `input`) |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language (Python, cURL, Node.js).
```python Python theme={null}
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ap-1.aieev.cloud/endpoints/qwen3-embedding-8b/v1"
)
response = client.embeddings.create(
model="qwen/qwen3-embedding-8b",
input=["Hello, world!", "AirCloud makes deploying models easy."]
)
for item in response.data:
print(item.index, len(item.embedding)) # 4096 dims per vector
```
```bash cURL theme={null}
curl https://ap-1.aieev.cloud/endpoints/qwen3-embedding-8b/v1/embeddings \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3-embedding-8b",
"input": ["Hello, world!", "AirCloud makes deploying models easy."]
}'
```
```javascript Node.js theme={null}
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://ap-1.aieev.cloud/endpoints/qwen3-embedding-8b/v1",
});
const response = await client.embeddings.create({
model: "qwen/qwen3-embedding-8b",
input: ["Hello, world!", "AirCloud makes deploying models easy."],
});
response.data.forEach((item) => {
console.log(item.index, item.embedding.length); // 4096 dims per vector
});
```
## Tags
`embedding` `8B` `multilingual` `semantic-search` `open-source`
# Qwen3-TTS
Source: https://docs.aieev.com/models/qwen3-tts
Multilingual text-to-speech model with custom voice cloning support.
**Model ID:** `qwen/qwen3-tts-customvoice` | **Endpoint ID:** `qwen3-tts` | **Parameters:** 1.7B | **Released:** 2026-01-22
| Input Price | Output Price | Languages | Voices |
| :-: | :-: | :-: | :-: |
| \$0.080 / 1K chars | \$0.000 | EN · ZH · JA · KO | 9 presets + custom |
## Overview
Qwen3-TTS-12Hz-1.7B-CustomVoice is a multilingual text-to-speech model from the Qwen3 family. With 1.7 billion parameters, it delivers high-quality speech synthesis across English, Chinese, Japanese, and Korean. The model features 9 preset voices and supports custom voice cloning, making it versatile for various applications. Operating at a 12Hz token rate, it provides efficient audio generation while maintaining natural-sounding output.
Try the model in the playground.
Deploy with AIR Container.
Learn how to use the API.
## Pricing
TTS models are billed by **input characters**, not tokens.
| Currency | Input (1,000 characters) | Output |
| :- | -: | -: |
| USD | \$0.080 | \$0.000 |
| KRW | ₩116 | ₩0 |
## Key Features
* 1.7B parameter model with high-quality multilingual speech synthesis
* Supports English, Chinese, Japanese, and Korean
* 9 diverse preset voices with custom voice capability
* 12Hz token rate for efficient audio generation
* Built on Qwen3 architecture with strong language understanding
## Use Cases
### Narration Generation
Generate natural voice narration for video content and audiobooks.
**Input Text:**
> Life is like a box of chocolates. You never know what you're gonna get.
### Voice Announcements
Create voice announcements and notifications with various voice styles.
**Input Text:**
> Your order has been confirmed and will be delivered within 3 business days.
### Conversational AI Voice
Generate natural voice responses for chatbots and virtual assistants.
**Input Text:**
> I'd be happy to help you with that! Let me check your account details.
## Parameters
| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `input` | string | Required | - | Text to convert to speech |
| `voice` | enum | Optional | `"serena"` | Voice preset |
| `response_format` | enum | Optional | `"mp3"` | Output audio format |
| `speed` | number | Optional | 1 | Speech speed multiplier (0.25-4.0) |
## Quick Start
Generate an API key from your [AirCloud account](https://aieev.com).
Replace `YOUR_API_KEY` with your actual key and choose your preferred language.
```python Python theme={null}
import requests
response = requests.post(
"https://ap-1.aieev.cloud/endpoints/qwen3-tts/v1/audio/speech",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "qwen/qwen3-tts-customvoice",
"input": "Hello, welcome to AirCloud!",
"voice": "serena",
"response_format": "mp3"
}
)
with open("output.mp3", "wb") as f:
f.write(response.content)
```
```bash cURL theme={null}
curl --request POST \
--url https://ap-1.aieev.cloud/endpoints/qwen3-tts/v1/audio/speech \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen/qwen3-tts-customvoice",
"input": "Hello, welcome to AirCloud!",
"voice": "serena",
"response_format": "mp3"
}' \
--output output.mp3
```
```javascript Node.js theme={null}
const response = await fetch(
"https://ap-1.aieev.cloud/endpoints/qwen3-tts/v1/audio/speech",
{
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "qwen/qwen3-tts-customvoice",
input: "Hello, welcome to AirCloud!",
voice: "serena",
response_format: "mp3"
})
}
);
const buffer = await response.arrayBuffer();
require("fs").writeFileSync("output.mp3", Buffer.from(buffer));
```
## Tags
`open-source` `tts` `1.7B` `custom-voice` `multilingual` `multi-voice`
# Product Updates
Source: https://docs.aieev.com/release-notes/index
New features, fixes, and improvements for the AirCloud platform.
## Air Assistant, credit breakdown and expiry, payment improvements, GPU auto-upgrade, and replica timeline
**Air Assistant agent (beta)**
Ask about the official documentation and your own account in plain language, right inside the AirCloud console. Open it with the **Air Assistant** button in the console header. See the [Air Assistant](/docs/console/air-assistant) guide for details.
* **Documentation help**: Ask about AirCloud features, how-tos, Autoscaling, Air API, and more. Answers are grounded in the official docs and come with links to the relevant pages.
* **Account lookups**: Check available GPUs and their prices, endpoint and replica status, usage, credits, and invoices.
* **Scoped to your access**: Only organizations and projects the signed-in user can access are queried, and secrets such as API keys are never shown.
* **Read-only beta**: For now it only answers questions and explains how to use the platform. Creating, stopping, editing, or deleting resources still happens in the console.
* **Suggested and follow-up questions**: Suggested questions help you get started, and related follow-ups appear below each answer.
* **Conversation controls**: Start a new conversation or download the current one as a file. Reopening past conversations is not supported yet.
* **Data handling**: Questions and answers are kept for 30 days by default and processed by Air API models served by AirCloud. Avoid entering sensitive information.
* **Double-check what matters**: AI answers can be wrong. Verify costs, payments, and resource status on the corresponding console screens.
**Where your credits came from, and when they expire**
See what your balance is made of and when each part expires.
* **Credit breakdown**: **Credit breakdown** on the Billing page lists your remaining credits by source (payments, sign-up credit, promotions, rewards, and more) and whether each is paid or free.
* **Expiry dates**: Each credit shows its expiry date and days remaining. Free credits and credits closest to expiring are used first.
* **Expiry reminders**: You get a notification when some of your credits are about to expire.
* **Promo code deadlines**: Promo codes can now have a redemption deadline, and credits granted by a code can carry their own validity period.
**Cancel unused payments, with no time limit**
* **Exact eligibility**: Whether a payment can be cancelled is now decided by **whether the credits granted by that payment are still untouched**, not by the organization's total balance. A payment whose credits were used even partially cannot be cancelled; an unused one can, regardless of how long ago it was made. The 7-day limit is gone.
* **Auto top-up included**: Auto top-up charges made with a saved card can be cancelled when unused. Recurring contracts settled offline are not covered.
* **Before deleting an organization**: The organization deletion dialog (including a last owner's account withdrawal) shows how many of your own card payments can still be cancelled, with a direct link to Payment History.
* **Clear failure reasons**: When a card payment fails, the console tells you why — issuer decline, additional authentication required, overseas payments blocked — and what to try next.
* **Card receipt link**: The payment confirmation email links straight to the card issuer's receipt.
* **Extra invoice recipients**: Postpaid organizations can send invoices to addresses outside the organization, such as an accounting contact.
**Upgrade to an equal-or-better GPU when yours is busy**
Choose what happens when the GPU you picked has no free capacity.
* **On (default)**: Your GPU is tried first; if none is free, the endpoint starts right away on an equal-or-better GPU in the same family. You are still billed at the rate of the GPU you selected.
* **Off**: The endpoint runs only on exactly the GPU you selected and waits until one frees up. Useful for benchmarks and other work where the GPU model affects results.
* **Where to set it**: In the container creation flow and under Resources in container settings. If your GPU is sold out, you can turn auto-upgrade on right from the creation screen.
**See when replicas scaled up and down**
The container's runtime overview now shows when autoscaling added or removed replicas, alongside your other metrics.
* **Active replicas card**: At the top of the runtime overview, one card shows how the replica count changed and when each replica was running. Replicas that ran only briefly appear as dots.
* **Min and max guides**: The autoscaling minimum and maximum replica counts are drawn as dashed lines, so you can see how close you are to the limit. Containers with autoscaling off show their fixed replica count instead. Hover ⓘ to see how replicas are scaled.
* **Scale markers**: Every metric chart marks the moments the replica count changed with a vertical dashed line, so you can compare how requests, latency, GPU utilization, and more changed before and after each scale.
* **Drag to zoom**: Drag across any chart to zoom every chart on the page into that range, re-queried at a finer interval. Click Reset zoom to go back to the previous range.
* **Default metric order**: Requests, errors, and latency now come first by default. Any order you arranged yourself is kept.
**Other improvements**
* **Your time zone**: Dates and times in the console follow your device's time zone, and emails and billing documents label the time zone they use.
* **Environment variable placeholders**: When you create a container, `{endpoint_id}`, `{endpoint_name}`, and `{project_id}` in environment variable values are replaced with the actual values. The container name is fixed at creation time.
* **GPU locked by templates**: When a template specifies an instance type, the GPU selection is locked to that type when you create a container from it.
* **Volume mounts carried over**: Creating a container from an existing one now carries over its volume mount settings too.
* **USD organizations**: Organizations paying in USD see balances, rates, payments, and exports in a single consistent unit.
## Long-term rentals, in-console requests, unified search, and account controls
**Long-term rentals**
GPU reservations are now called **long-term rentals**, and the whole flow lives in the console.
* **From one month**: The minimum term dropped from three months to one, with presets up to a year and a lower hourly rate the longer you rent.
* **Priced before you commit**: The rental screen shows the hourly rate, the discount applied, and the total for the term before you submit.
* **Inquiry in the console**: Send a rental inquiry from the same page, track it as a request, and withdraw it if plans change. Our team replies within one business day.
* **Rental notifications**: Get notified when a rental completes, starts, is about to expire, and expires. Start and expiry also arrive by email.
* **Clearer status**: Rentals are listed as Requested, Scheduled, Active, Expired, or Cancelled, with days remaining.
**Requests, in the place you get stuck**
Ask for what you need from the screen where you needed it, instead of opening a separate ticket.
* **Request a GPU, template, or model**: Each picker now has an entry point for "what I need isn't here".
* **My requests**: Every request — waitlists, limit increases, and catalog requests — is tracked in one place, with our team's reply attached.
* **Outcome notifications**: You are notified when a request is received and when it is handled.
**Unified console search**
* **One search box**: Find containers, projects, models, keys, members, rentals, and requests from a single search in the header.
* **Documentation included**: Search results reach into the documentation site, linking straight to the relevant section.
* **Run actions**: Start common actions — create a container, invite a member, issue an API key — without navigating there first.
**Account and organization controls**
* **Change your password**: Set a new password directly in Account Settings. All devices sign out afterward.
* **Notification settings**: A settings tab lets you choose exactly which events reach the console, your desktop, and your inbox, with a guide to what each notification means.
* **Delete an organization or withdraw**: Both are now self-service, with an up-front check of what has to be settled first and what will be irrecoverably removed.
* **A place to start**: Users who don't belong to an organization yet land on a start screen instead of an empty console.
**Containers**
* **Mount a volume at several paths**: One volume can be mounted at more than one path inside the container.
* **Templates, regrouped**: The template picker is organized by what you are trying to do — the workload, how you reach it, and what varies inside.
* **Live status**: Container status updates on its own, without refreshing or polling.
## GPU availability, create from existing container, revamped usage & billing, and expanded notifications
**GPU availability and resource requests**
Check GPU stock before you deploy, and request more resources right from the console when you hit a limit.
* **Availability at a glance**: The GPU list in the container create flow now shows an availability level per instance type, so you know what can be deployed before you try.
* **Waitlist**: For GPUs that aren't currently available, join a waitlist and get notified when they become available again.
* **Quota increase requests**: Request a quota increase directly in the console — no external inquiry needed. Requests can be made from the replica settings and the limits page at any time.
* **Better GPU list**: The GPU list is sorted by hourly price, with a refresh button to pull the latest stock.
**Create from an existing container**
Spin up a container with the same configuration without setting everything up again.
* **Reuse a configuration**: Create a new container from an existing one's settings — instance, image, scaling, and more. Only the configuration is carried over; no data is copied.
* **Edit before creating**: Change the name, endpoint URL, and environment variables before the new container is created.
**Revamped usage & billing experience**
It's now much clearer what you were charged and why.
* **Redesigned billing pages**: Charging, payment methods, and payment history are organized into tabs, and payment history can be exported as CSV.
* **Redesigned usage & settlement views**: The organization usage pages have been rebuilt with filters, summary cards, aggregate charts, and a transaction timeline.
* **Charge breakdown**: Settlement details now show how each amount was computed (unit price × hours × instance count).
* **Reserved usage, separated**: Reserved (prepaid) usage appears in charts and tables distinctly from on-demand usage, with its relationship to total spend explained.
* **Actual prices everywhere**: Lists and the create flow show the price you'll actually be charged, and the create dialog includes a 10-minute billing estimate.
* **Unified credit unit**: Balance and pricing displays now use a single credit (C) unit.
**Expanded notifications**
Stay on top of your containers and billing with more granular notifications.
* **Deployment complete**: Get notified when a container deployment finishes.
* **Reserved device lifecycle**: Receive notifications for key reserved-device moments such as start and upcoming expiry — start and expiry are also delivered by email.
* **Billing alerts**: Get notified about low balance, auto top-up failures, and overdue invoices so you can act before service is interrupted.
* **Notification guide**: See which notifications arrive in the console, on your desktop, or by email from the guide on the notifications page.
* **Mark as read individually**: Mark notifications as read one by one, with the read state reflected instantly.
**Other improvements**
* **Organization switcher**: The console header now shows which organization you are working in. An account belongs to one organization, so the switcher only appears if you hold more than one membership.
* **Model pages, unified**: Public model pages now share the console's new design, and you can try models in the Playground without signing in. Model descriptions are available in Korean.
* **Per-replica logs**: The log sidebar is now organized by replica, showing running/stopped status, with per-replica viewing and bulk download.
* **Volume resize**: Increase the size of a persistent volume that's already in use.
* **Shared memory size**: Set the shared memory (shm) size when creating a container.
* **Inline API key issuance**: Issue an API key without leaving the Air API page, with the endpoint address and pricing pinned on screen.
* **Better dashboard charts**: Container dashboard charts are easier to read, with new "since deployment" and "since creation" date range presets.
* **Refined container create flow**: The persistent volume choice now comes before GPU selection, and the data-loss warning was moved somewhere more visible.
## Redesigned console, real-time notifications, and Persistent Volume
**Redesigned console pages**
We've refreshed the console's most-used pages for a cleaner, more consistent experience.
* **Container create**: A rebuilt create flow — a clearer default mode, a card-based layout, and a configuration summary before you deploy. Start from a template with recommended items and an auto-filled name.
* **Organization overview**: Redesigned organization page that surfaces status and usage at a glance.
* **Project overview**: A reworked overview that brings your recent containers, recommended quick-start templates, and an Air API usage summary together on one page.
* **Consistent navigation**: Cleaner, header-free pages and unified breadcrumb navigation throughout the console.
**Real-time notifications**
Notifications now arrive the moment something happens — no page refresh needed — and are collected in one place.
* **Instant delivery**: Events such as deployment status changes and announcements appear in real time.
* **Notification center**: Browse, page through, and dismiss past notifications from a single view.
* **Balance & usage alerts**: Get notified about low balance, GPU usage charges, and payment failures so you can act before service is interrupted.
**Persistent Volume**
Persistent volumes are now more flexible across your deployments.
* **Works with autoscaling**: Attach a volume to deployments that use autoscaling and multiple replicas.
* **New or existing volume on create**: Choose a fresh volume or reuse an existing one when creating a deployment.
* **Shared across deployments**: A single volume can be attached to multiple deployments, and the picker shows which deployments are already using it.
* **Edit while stopped**: Enable, disable, or swap the attached volume while a deployment is stopped.
**Other improvements**
* **Container tags**: Organize and filter your containers with tags.
* **Replica quota at start**: Replica quota is now checked when you start a deployment, with an in-line dialog to adjust replicas or request more quota.
* **Web Terminal replica selection**: When a container has multiple replicas, choose which one to connect to, and the session auto-reconnects if a replica is replaced.
* **SSH key scoping**: Apply a registered SSH key to specific containers, and enable or disable it without removing it.
* **Inline email verification**: Enter a verification code directly during signup; disposable email domains are now blocked at registration.
* **Better Air API usage page**: More accurate spend totals, consistent filters, and model display names across charts and records.
* **Persistent list views**: Sorting, filters, search, and pagination are kept in the URL, so your view is restored when you navigate back from a detail page.
* **New brand color**: Updated the primary brand color across the console.
## Web Terminal, AirCloud CLI, SSH access, and Shared Storage
AirCloud endpoint access and storage capabilities have been expanded. You can now connect to running containers from the browser or your local terminal, manage endpoints with the AirCloud CLI, use SSH-based development workflows, and share persistent storage across endpoints and replicas.
**Web Terminal**
Browser-based terminal access is now available for custom container endpoints.
* **SSH-free terminal access**: Open a terminal session through AirCloud's exec-based connection without installing `sshd` or configuring SSH keys.
* **Custom container support**: Custom container endpoints now show a **Terminal** button on the endpoint overview page.
* **Template environment access**: AirCloud-provided templates such as Jupyter Notebook and Code already include terminal access through their web UI.
* **Replica selection**: For endpoints with multiple replicas, select the replica you want to connect to. If only one replica is running, AirCloud connects automatically.
* **Simple session exit**: Exit the terminal with `exit` or `Ctrl-D`. The terminal window closes automatically shortly after the session ends.
* **Connection retry guidance**: If the terminal stays in the connecting state for a long time, try again from a new browser window or incognito mode.
**AirCloud CLI**
The new `aircloud-cli` lets you manage AirCloud endpoints and access running containers from your local terminal.
```bash theme={null}
pip install aircloud-cli
```
Key capabilities:
* **CLI configuration**: Configure the API base URL and API key with `aircloud config`.
* **Authentication context**: Use `aircloud whoami` to verify your organization, project, user, and API key context.
* **Endpoint management**: List, inspect, start, stop, scale, and patch endpoints from your terminal.
* **Replica inspection**: View live replica status for active endpoints.
* **Endpoint logs**: Retrieve endpoint logs, list log files, inspect per-replica logs, and fetch specific log ranges for debugging.
* **Exec-based shell access**: Use `aircloud exec ` to open an interactive shell inside a running container without SSH setup.
* **Replica pinning**: Connect to a specific replica with `aircloud exec -r `.
* **Custom shell command**: Start a different shell or command with `aircloud exec -c "/bin/sh"`.
**SSH access via AirCloud CLI**
AirCloud CLI now supports key-based SSH access into containers.
* **CLI-based SSH access**: Use `aircloud ssh ` to connect to supported containers from your local terminal.
* **SSH key injection**: Register an SSH public key in the AirCloud console and inject it into selected endpoints.
* **Template support**: AirCloud-provided Jupyter Notebook and Code templates support SSH access out of the box.
* **Custom container support**: To use SSH with custom images, install `sshd`, add injected public keys to `authorized_keys`, and start the SSH server inside the container.
* **Standard SSH workflows**: Use SSH-based workflows such as `scp` file transfer, `ssh -L` port forwarding, and VS Code Remote SSH.
* **Replica-specific SSH**: Pin an SSH session to a specific replica with `aircloud ssh -r `.
* **Tunnel-only mode**: Open only the SSH tunnel with `aircloud ssh --tunnel-only` for advanced workflows.
**AirCloud Exec vs SSH**
AirCloud now supports two ways to access running containers, depending on your workflow.
| Feature | `aircloud exec` | `aircloud ssh` |
| - | - | - |
| Image requirements | No image changes required | Custom images require `sshd` |
| Key setup | API key only | SSH key registration required |
| File transfer with `scp` | Not supported | Supported |
| Port forwarding with `ssh -L` | Not supported | Supported |
| VS Code Remote SSH | Not supported | Supported |
| Best for | Fast shell access and debugging | SSH-based development, file transfer, and port forwarding |
**Shared Storage**
Shared Storage is now available for persistent volumes across endpoints and replicas.
* **One volume, multiple endpoints**: Attach the same persistent volume to multiple endpoints within a project.
* **Shared storage across replicas**: Multiple replicas in the same endpoint can mount and access the same volume.
* **Data independent from containers**: Keep datasets, model checkpoints, logs, and output artifacts independent from the container lifecycle.
* **Flexible volume attachment**: Create a new persistent volume when creating an endpoint, or attach an existing volume to another endpoint.
* **Read-write shared access**: Shared volumes support read-write access, but applications should handle concurrent writes and file locking.
Learn how to install and use the AirCloud CLI.
Learn how to access running containers.
Learn how to share persistent volumes across endpoints and replicas.
## Air API General Availability
Air API is now generally available. Access AirCloud's AI models through an OpenAI-compatible interface with transparent per-token pricing.
* **OpenAI-compatible API**: Use existing OpenAI SDKs and code to access AirCloud models with minimal changes.
* **Public pricing**: Per-token pricing is now published for all models with pay-as-you-go billing.
* **Air API Playground**: Test models directly in the browser without writing code.
Learn how to use Air API.
Explore all available models and pricing.
## AirCloud Zero Release (RC)
AirCloud Zero is now available. Deploy Air Container and run AI inference workloads at a lower cost by leveraging crowdsourced GPU resources.
* **Lower-cost container deployment**: Deploy Air Container at a lower cost than standard AirCloud by leveraging crowdsourced GPU resources.
* **Built for inference workloads**: Best suited for AI inference workloads where cost efficiency and flexibility matter most.
* **Selectable at deployment time**: Choose AirCloud Zero as the Cloud Type when creating an Air Container endpoint.
AirCloud Zero is currently in Release Candidate (RC). Some features and availability may be limited until General Availability (GA).
## External API expansion and new model endpoints
The External API now covers full endpoint lifecycle management. Three new AI models are available on the platform.
**External API: New endpoints**
Programmatic control over your deployments is now complete with five new endpoints:
* **List Endpoints**: Retrieve a paginated list of all accessible endpoints with status and configuration details.
* **List Replicas**: View live replica status for any active endpoint.
* **List/Get Log Files**: Access endpoint log files and download their contents for debugging.
* **Patch Endpoint**: Update runtime settings (replica count, scaling config) for inactive endpoints.
* **Get API Key Context**: Verify your API key's authentication scope and permissions.
View the complete API documentation.
**New models available**
Three new models are now available through the [Air API Playground](https://ap-1.aieev.cloud:3000):
| Model | Type | Input | Output |
| - | - | - | - |
| [Qwen3-TTS](/models/qwen3-tts) | Multilingual TTS with custom voice cloning | \$0/1M tokens | \$0/1M tokens |
| [Qwen3.5-9B](/models/qwen3-5-9b) | Efficient 9B with vision support | \$0.05/1M tokens | \$0.15/1M tokens |
| Qwen3.5-35B-A3B | High-performance MoE (35B) | \$0.1625/1M tokens | \$1.3/1M tokens |
Explore all available models and pricing.
## Jupyter Notebook, Web IDE, and Persistent Volume support
New development environments and storage capabilities for GPU workloads.
**Jupyter Notebook environment**
GPU-powered Jupyter Notebook environments are now available as ready-to-use templates. Start developing immediately without any setup.
* Pre-configured with TensorFlow, PyTorch, and other major libraries
* Full GPU resource access for experimentation and model development
* Browser-based access — no local installation required
* Built-in Jupyter AI integration
**Web IDE (Code) environment**
A VS Code-based Web IDE is now available directly in the browser for cloud-native development.
* Write and run code in the browser without a local development environment
* Container-based isolated workspace for each session
* Built-in development and debugging tools
* Code assistant integration included
**Persistent Volume**
Data now persists beyond container lifecycle with the new persistent volume feature.
* Store model checkpoints, logs, and data files across container restarts
* Data management independent of container lifecycle
* Ideal for long-running jobs and iterative experiments
## External API initial release
Launched the AirCloud External API for programmatic endpoint management. Control your inference endpoints without leaving your terminal or CI/CD pipeline:
```bash theme={null}
# Check endpoint status
curl -X GET https://external.aieev.cloud:5000/external/api/v1/endpoints/{id} \
-H "Authorization: Bearer YOUR_API_KEY"
# Scale replicas
curl -X POST https://external.aieev.cloud:5000/external/api/v1/endpoints/{id}/scale \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"replica_count": 3}'
```
Key capabilities:
* **Get Endpoint Status**: Check current status, configuration, and health of any endpoint.
* **Start/Stop Endpoint**: Start or stop endpoints on demand via API.
* **Scale Replicas**: Adjust replica count for active endpoints to match traffic requirements.
Get started with the External API.
## Air API beta launch, observability, dashboards, and UX upgrades
Air API launches in beta alongside major improvements to observability, project dashboards, and security.
**Air API (beta)**
An OpenAI-compatible inference API is now available in beta. Access AirCloud's AI models with a single API key.
* OpenAI SDK compatible — swap models without changing your code
* API key authentication with per-key endpoint access control
* Test models interactively in the Playground
**Observability & Logs**
Runtime logs are now searchable, filterable, and exportable:
* **Log download and bulk export**: Download logs for offline analysis with single or batch export.
* **Advanced log filtering**: Regex-based search and time-range filtering for faster troubleshooting.
* **Raw log (JSON) view**: Inspect unprocessed log data alongside the structured view.
* **Scaling history**: Track autoscale events, timeout-triggered changes, and error-driven replica adjustments over time.
**Dashboards**
New project-level and organization-level dashboards for usage visibility:
* **Project dashboards**: Monitor status and usage at the project level with dedicated views.
* **Organization usage breakdown**: View usage and cost distribution by project, endpoint, and instance type.
* **Extended request metrics**: Cumulative request counts, job error rates, and other operational metrics.
* **Transaction history filtering**: Filter billing records by type and status.
**UX Improvements**
* **Korean language support**: Full Korean UI now available.
* **First-time user onboarding**: Guided tutorial flow for new users to deploy their first endpoint.
* **In-product feedback**: Submit feedback directly from within the platform.
**Security & Access**
* **OpenAI-compatible API keys**: Issue API keys with OpenAI-compatible format. Control which endpoints each key can access.
* **HTTPS endpoints**: Enforced HTTPS for all inference endpoints.
* **Path-based endpoint addressing**: Moved from port-based to path-based routing with support for custom endpoint URLs.
## AirCloud General Availability
AirCloud is now generally available. With this release, Air Container graduates from beta to GA. Deploy and operate your own container images on AirCloud's GPU infrastructure.
**Air Container GA**
* Deploy custom container images directly on GPU clusters
* Autoscaling and scheduled scaling to match traffic patterns
* Full control over runtimes, dependencies, and service configuration
* Persistent storage integration for models and data
Learn how to deploy containers.
**Platform features**
* **Time-based scaling**: Schedule minimum replica counts or enable/disable autoscaling by time of day.
* **Custom endpoint URLs**: Use your own URL identifiers instead of system-generated IDs for cleaner integration.
* **API Playground**: Test and integrate APIs interactively through the built-in Playground without writing code.
* **One-click cluster deployment**: Reduce repetitive setup with templated, automated cluster deployments.
* **Actionable error messages**: Detailed error guidance on failure screens to cut mean-time-to-resolution.
* **Secure inference traffic (HTTPS)**: End-to-end HTTPS for all inference requests.
## Usage insights, autoscaling controls, and performance tuning
New visibility into costs, smarter autoscaling, and infrastructure-level performance hardening.
* **Usage & billing dashboards**: Monthly and daily usage visualization to track credit consumption and spending trends at a glance.
* **Autoscaling sensitivity controls**: Configure autoscale responsiveness (Heavy / Normal / Light) to match your workload's characteristics—from bursty inference to steady throughput.
* **Deployment template reuse**: Reuse existing deployment configurations to quickly spin up new endpoints with the same settings.
* **Predictable scaling behavior**: Adjusted scale-in/out policies to reduce variability under varying load patterns.
* **Concurrent request handling improvements**: Improved stability for large-file transfers and concurrent request handling under peak traffic.
## Zero-downtime operations
Stability improvements so platform updates and scaling events don't disrupt running workloads.
* **Zero-downtime updates**: Minimized service disruption during platform updates.
* **Request drop prevention**: Improved handling during scale-in and updates to prevent in-flight request loss.
* **Restart stability**: Event processing pipelines now handle component restarts without data loss or ordering issues.
* **HTTPS adoption**: Began HTTPS rollout as the platform security baseline.
## Billing and team collaboration
Introduced credit-based billing and multi-user collaboration so teams can manage costs and share resources.
* **Credits-based billing**: Manage usage costs through a prepaid credit system with top-up and balance tracking.
* **Team invites**: Invite team members to your organization via email for collaborative access to shared resources.
* **Reserved capacity**: Distinguish between reserved (term-based) and on-demand resources for predictable cost planning.
* **Billing automation**: Automated usage collection and settlement processing on scheduled intervals.
## Air Container beta launch and platform foundation upgrades
Air Container beta is now available. Deploy custom container images on GPU infrastructure for the first time on AirCloud.
**Air Container (beta)**
* Deploy custom container images on GPU clusters
* Basic autoscaling and monitoring support
* Container health checks with automatic recovery
**Infrastructure improvements**
* **Custom metrics for user workloads**: Collect and display per-container metrics (e.g., vLLM) with configurable metric targets.
* **Improved health checks**: Better readiness detection for containers with long boot times to prevent premature termination.
* **Faster runtime environments**: Lighter, faster packaging and deployment structures for reduced startup times.
* **Offline-friendly deployment**: Support for restricted-network environments with offline operation scenarios.
* **Better model caching**: More efficient HuggingFace model cache sharing and management for faster cold starts.
* **Reliable event capture**: Hardened autoscale and operational event capture for more stable scaling decisions.