Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions English/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -742,13 +742,10 @@
* [Import Model Registry Using a Custom Container](ai-stack/ai-platform/model-registry/import-model-registry-using-a-custom-container.md)
* [Model as a Service (MaaS)](ai-stack/model-as-a-service/README.md)
* [Understanding AI Models](ai-stack/model-as-a-service/understanding-ai-models.md)
* [OCR API Usage Guide](ai-stack/model-as-a-service/ocr-api-usage-guide.md)
* [Playground](ai-stack/model-as-a-service/playground.md)
* [Available Models](ai-stack/model-as-a-service/available-models.md)
* [MaaS API](ai-stack/model-as-a-service/maas-api.md)
* [Using MaaS with AI Gateway](ai-stack/model-as-a-service/using-maas-with-ai-gateway.md)
* [Pricing](ai-stack/model-as-a-service/pricing.md)
* [Model Pricing List](ai-stack/model-as-a-service/model-pricing-list.md)
* [AI Gateway](ai-stack/ai-gateway/README.md)
* [What is AI Gateway?](ai-stack/ai-gateway/what-is-ai-gateway.md)
* [Get Started with AI Gateway](ai-stack/ai-gateway/get-starting-with-ai-gateway/README.md)
Expand Down
2 changes: 1 addition & 1 deletion English/ai-stack/ai-coding/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ The Model ID for the same model **can differ** between the two service types. Al
Model ID used in configuration (PAYG example): **`z-ai/glm-5.2`**

{% hint style="info" %}
**GLM 5.2 here is just an example model.** GreenNode self-hosts **many models** — swap in whichever model you want to use. On PAYG, the exact **Model ID** and **Base URL** for each model are on that model's **detail page** in the [Models portal](https://aiplatform.console.greennode.ai/models). On Token Plan, check your purchased plan's **Models** tab.
**GLM 5.2 here is just an example model.** GreenNode MaaS offers **many models** — swap in whichever model you want to use. On PAYG, the exact **Model ID** and **Base URL** for each model are on that model's **detail page** in the [Models portal](https://aiplatform.console.greennode.ai/models). On Token Plan, check your purchased plan's **Models** tab.
{% endhint %}

---
Expand Down
89 changes: 47 additions & 42 deletions English/ai-stack/model-as-a-service/available-models.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,69 @@
# Available Models

The MaaS API provides full-accuracy access to model families such as Gemini, Anthropic, OpenAI, and others listed below.
The MaaS API provides full-accuracy access to model families such as Anthropic, OpenAI, Qwen, and others listed below.

{% hint style="info" %}
The model catalog below has been updated under the transition starting **August 3, 2026**, covering models self-hosted by GreenNode and third-party models under official contracts. See the timeline details in [Release Notes](../release-notes.md) and the full price list in [Model Pricing List](model-pricing-list.md).
The model catalog below has been updated under the transition starting **August 3, 2026**, covering models self-hosted by GreenNode and third-party models under official contracts. See the timeline details in [Release Notes](../release-notes.md) and the billing rules in [Pricing](pricing.md).
{% endhint %}

### Danh sách mô hình

MaaS hỗ trợ nhiều loại mô hình khác nhau:

#### _**Chat**_

| Model Name | Provider | Modalities (Input → Output) | Rate Limit | Available From |
| --------------- | ----------- | ----------------------------------- | ---------- | ------------------ |
| Kimi K2.7 Code | Moonshot AI | Text + Image → Text | – | August 3, 2026 |
| Kimi 2.6 | Moonshot AI | Text + Image → Text | – | August 3, 2026 |
| GLM-5.2 | Zhipu AI | Text → Text | – | August 3, 2026 |
| Gemma 4 31B-IT | Google | Text + Image → Text | – | August 3, 2026 |
| Qwen 3.7 Plus | Qwen | Text + Image + Video → Text | – | August 3, 2026 |
| Qwen 3.6 Plus | Qwen | Text + Image + Video → Text | – | August 3, 2026 |
| Qwen 3.6 Flash | Qwen | Text + Image + Video → Text | – | August 3, 2026 |
| MiniMax M3 | MiniMax | Text + Image + Video → Text | – | August 3, 2026 |
| MiniMax M2.5 | MiniMax | Text → Text | – | August 3, 2026 |
| Opus 4.8 | Anthropic | Text + Image + File → Text | – | August 20, 2026 |
| Sonnet 4.6 | Anthropic | Text + Image + File → Text | – | August 20, 2026 |
| Haiku 4.5 | Anthropic | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5.4 | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5.4 Mini | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5.4 Nano | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5 | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5 Mini | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5 Nano | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-4o | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-4o Mini | OpenAI | Text + Image + File → Text | – | August 20, 2026 |
| GPT-OSS 20B | OpenAI | Text → Text | – | August 20, 2026 |
| GPT-OSS 120B | OpenAI | Text → Text | – | August 20, 2026 |
### Model list

The **Provider Type** column tells you where your request is processed:

* **GreenNode self-host** — the model runs on GreenNode infrastructure.
* **Third-party** — the request is forwarded to the model vendor (Anthropic, OpenAI, Moonshot AI, Qwen, MiniMax, Cohere, etc.) under an official contract.

MaaS supports several model types:

#### _Chat_

| Model Name | Provider Type | Modalities (Input → Output) | Rate Limit | Available From |
| --------------- | ------------------- | ----------------------------------- | ---------- | ------------------ |
| Kimi K2.7 Code | Third-party | Text + Image → Text | – | August 3, 2026 |
| Kimi 2.6 | Third-party | Text + Image → Text | – | August 3, 2026 |
| GLM-5.2 | GreenNode self-host | Text → Text | – | August 3, 2026 |
| Gemma 4 31B-IT | Third-party | Text + Image → Text | – | August 3, 2026 |
| Qwen 3.7 Plus | Third-party | Text + Image + Video → Text | – | August 3, 2026 |
| Qwen 3.6 Plus | Third-party | Text + Image + Video → Text | – | August 3, 2026 |
| Qwen 3.6 Flash | Third-party | Text + Image + Video → Text | – | August 3, 2026 |
| MiniMax M3 | Third-party | Text + Image + Video → Text | – | August 3, 2026 |
| MiniMax M2.5 | Third-party | Text → Text | – | August 3, 2026 |
| Opus 4.8 | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| Sonnet 4.6 | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| Haiku 4.5 | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5.4 | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5.4 Mini | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5.4 Nano | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5 | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5 Mini | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-5 Nano | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-4o | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-4o Mini | Third-party | Text + Image + File → Text | – | August 20, 2026 |
| GPT-OSS 20B | Third-party | Text → Text | – | August 20, 2026 |
| GPT-OSS 120B | Third-party | Text → Text | – | August 20, 2026 |

{% hint style="info" %}
Modalities describe the model's general capability per its provider's documentation — actual support may depend on the specific API endpoint used via MaaS. Models listed as **August 3, 2026** are live now; models listed as **August 20, 2026** are rolling out progressively and are not yet available.
{% endhint %}

#### _Image Generation_

| Model Name | Provider | Modalities (Input → Output) | Rate Limit | Available From |
| -------------- | -------- | ------------------------------- | ---------- | --------------- |
| gpt-image-2 | OpenAI | Text + Image → Image | – | August 20, 2026 |
| Model Name | Provider Type | Modalities (Input → Output) | Rate Limit | Available From |
| -------------- | ------------- | ------------------------------- | ---------- | --------------- |
| gpt-image-2 | Third-party | Text + Image → Image | – | August 20, 2026 |

#### _Embedding_

| Model Name | Provider | Modalities (Input → Output) | Rate Limit | Available From |
| -------------------- | -------- | ------------------------------- | ---------- | --------------- |
| Cohere Embed v4 | Cohere | Text + Image → Vector | – | August 20, 2026 |
| Qwen3 Embedding 8B | Qwen | Text → Vector | – | August 20, 2026 |
| Model Name | Provider Type | Modalities (Input → Output) | Rate Limit | Available From |
| -------------------- | ------------------- | ------------------------------- | ---------- | --------------- |
| Cohere Embed v4 | Third-party | Text + Image → Vector | – | August 20, 2026 |
| Qwen3 Embedding 8B | Third-party | Text → Vector | – | August 20, 2026 |

#### _Rerank_

| Model Name | Provider | Modalities (Input → Output) | Rate Limit | Available From |
| ------------------------ | -------- | ------------------------------- | ---------- | --------------- |
| Cohere Rerank v4.0 pro | Cohere | Text → Ranked List | – | August 20, 2026 |
| Model Name | Provider Type | Modalities (Input → Output) | Rate Limit | Available From |
| ------------------------ | ------------- | ------------------------------- | ---------- | --------------- |
| Cohere Rerank v4.0 pro | Third-party | Text → Ranked List | – | August 20, 2026 |

Note:

Expand Down
121 changes: 121 additions & 0 deletions English/ai-stack/model-as-a-service/maas-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

**MaaS** provides an **OpenAI-compatible** API for seamless model inference. You can integrate easily using the **Python or JavaScript SDK**, or directly from your **terminal with cURL**.

## 1. OpenAI-compatible API (Chat, Completion, Embedding, Image Generation)

Refer to the scripts under API Usage on the Portal.

_Curl_
Expand All @@ -15,3 +17,122 @@ _Python_
Javascript

<figure><img src="../../.gitbook/assets/image (398).png" alt=""><figcaption></figcaption></figure>

***

## 2. OCR API

OCR is one of the model types available in MaaS. Because it works on documents (file upload, asynchronous processing), it exposes its own set of endpoints instead of the OpenAI-compatible endpoint above. This section explains how to call the OCR API.

### Submit OCR (upload file to create a request)

* **Method**: `POST`
* **URL**: `https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest`
* **Headers**:
* `Authorization: Bearer <API_KEY>`
* `portal-user-id: <PORTAL_USER_ID>`
* **Body**: `multipart/form-data`
* `flow` (required)
* `single`: OCR for a single document
* or `<FLOW_ID>`: OCR for a document workflow (if provided)
* `doc_type` (required if `flow=single`): `<DOC_TYPE>`
* `file_type` (required): `PDF` or `IMAGE`
* `file` (required): file to be processed by OCR

#### Example

```bash
curl --location 'https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'portal-user-id: <PORTAL_USER_ID>' \
--form 'flow="single"' \
--form 'doc_type="<DOC_TYPE>"' \
--form 'file_type="PDF"' \
--form 'file=@"<FILE_PATH>"'
```

Response will include:

* `request_id`: used to retrieve results
* (optional) `file_ids`: used to download result images

### Get OCR Result (use `request_id` to retrieve text/data)

* **Method**: `GET`
* **URL**: `https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/<request_id>`
* **Headers**:
* `Authorization: Bearer <API_KEY>`
* `portal-user-id: <PORTAL_USER_ID>`

#### Example

```bash
curl --location 'https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/<request_id>' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'portal-user-id: <PORTAL_USER_ID>'
```

#### What if no data is returned yet?

This is normal because OCR processing is still in progress.

* Wait 2–5 seconds and call the API again (polling).
* If the timeout is exceeded and no data is returned, send the request\_id to the support team for investigation.

### Additional OCR Data APIs (optional, depending on needs)

#### Get Table Data (TABLE)

* **Method**: `GET`
* **URL**: `https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/table/<request_id>/<document_id>`

```bash
curl --location 'https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/table/<request_id>/<document_id>' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'portal-user-id: <PORTAL_USER_ID>'
```

#### Get Signature Results

* **Method**: `GET`
* **URL**: `https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/signature/<request_id>/<document_id>`

```bash
curl --location 'https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/signature/<request_id>/<document_id>' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'portal-user-id: <PORTAL_USER_ID>'
```

Note: document\_id is included in the response of Get OCR Result.

#### Get Stamp Results

* **Method**: `GET`
* **URL**: `https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/stamp/<request_id>/<document_id>`

```bash
curl --location 'https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/stamp/<request_id>/<document_id>' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'portal-user-id: <PORTAL_USER_ID>'
```

#### Download Result Images

* **Method**: `GET`
* **URL**: `https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/file/<request_id>/<file_id>`

```bash
curl --location 'https://maas-llm-aiplatform-hcm.api.vngcloud.vn/maas/user-<PORTAL_USER_ID>/greennode/idp/v1/ocr/ingest/file/<request_id>/<file_id>' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'portal-user-id: <PORTAL_USER_ID>'
```

### Quick Troubleshooting for OCR

* `403 Forbidden`:
* Missing/invalid `Authorization` or permission denied.
* `400 Bad Request` / `4XX`:
* Missing required fields (`flow`, `file_type`, `file`, ...)
* Invalid `doc_type` configuration.
* Polling does not return results:
* Provide `request_id` + timestamp + sample file (if possible) to the support team for further investigation.
Loading
Loading