Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f011286
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 13, 2026
15b6629
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 14, 2026
3a67449
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 17, 2026
f6a1cb7
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 17, 2026
1c4bd8a
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 17, 2026
6faad21
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 17, 2026
37ef994
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 17, 2026
8122f44
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 20, 2026
d85685b
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 21, 2026
cfec36c
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 22, 2026
9901eb6
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 23, 2026
22ea63f
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 24, 2026
039a2ec
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 27, 2026
a0461c6
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 28, 2026
f6c6ea5
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 29, 2026
ae3ee85
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 29, 2026
3e69f14
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 29, 2026
9f77ba1
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 29, 2026
5495f67
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 30, 2026
3bcc1dd
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 30, 2026
e221699
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 30, 2026
1ad53c6
Merge branch 'main' into MTA-7060
vanda-scw Apr 30, 2026
ca17158
feat(genapi): merge AI docs MTA-7060
vanda-scw Apr 30, 2026
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
2 changes: 0 additions & 2 deletions menu/navigation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ import { localStorageMenu } from "../pages/local-storage/menu"
import { mailboxMenu } from "../pages/mailbox/menu"
import { managedDatabasesForPostgresqlAndMysqlMenu } from "../pages/managed-databases-for-postgresql-and-mysql/menu"
import { managedDatabasesForRedisMenu } from "../pages/managed-databases-for-redis/menu"
import { managedInferenceMenu } from "../pages/managed-inference/menu"
import { managedMongodbDatabasesMenu } from "../pages/managed-mongodb-databases/menu"
import { natsMenu } from "../pages/nats/menu"
import { objectStorageMenu } from "../pages/object-storage/menu"
Expand Down Expand Up @@ -109,7 +108,6 @@ export default [
icon: 'AiCategoryIcon',
items: [
generativeApisMenu,
managedInferenceMenu,
],
label: 'AI',
category: 'ai-data',
Expand Down
23 changes: 13 additions & 10 deletions pages/generative-apis/api-cli/understanding-errors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ dates:
---

Scaleway uses conventional HTTP response codes to indicate the success or failure of an API request.
In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error caused by the information provided, and codes in the 5xx range show an error from Scaleway servers.
In general:
- codes in the `2xx` range indicate success
- codes in the `4xx` range indicate an error caused by the information provided
- codes in the `5xx` range show an error from Scaleway servers

If the response code is not within the 2xx range, the API returns an error object. The structure of the error object depends on how recent the model being used is:
If the response code is not within the `2xx` range, the API returns an error object. The structure of the error object depends on how recent the model being used is:

<Tabs>

Expand Down Expand Up @@ -45,14 +48,14 @@ If the response code is not within the 2xx range, the API returns an error objec

Below are common HTTP error codes:

- 400 - **Bad Request**: The format or content of your payload is incorrect. The body may be too large, or fail to parse, or the content-type is mismatched.
- 401 - **Unauthorized**: The `authorization` header is missing. Find required headers in [this page](/generative-apis/api-cli/using-generative-apis/)
- 403 - **Forbidden**: Your API key does not exist or does not have the necessary permissions to access the requested resource. Find required permission sets in [this page](/generative-apis/api-cli/using-generative-apis/)
- 404 - **Route Not Found**: The requested resource could not be found. Check your request is being made to the correct endpoint.
- 400 - **Bad Request**: The format or content of your payload is incorrect. The body may be too large, or fails to parse, or the `content-type` is mismatched.
- 401 - **Unauthorized**: The `authorization` header is missing. For information about the required headers, see the [Using Generative APIs](/generative-apis/api-cli/using-generative-apis/) page.
- 403 - **Forbidden**: Your API key does not exist or does not have the necessary permissions to access the requested resource. For information about the required permission sets, see the [Using Generative APIs](/generative-apis/api-cli/using-generative-apis/) page.
- 404 - **Route Not Found**: The requested resource could not be found. Check if your request is being made to the correct endpoint.
- 422 - **Model Not Found**: The `model` key is present in the request payload, but the corresponding model is not found.
- 422 - **Missing Model**: The `model` key is missing from the request payload.
- 429 - **Too Many Requests**: You are exceeding your current quota for the requested model, calculated in requests per minute. Find rate limits on [this page](/generative-apis/reference-content/rate-limits/)
- 429 - **Too Many Tokens**: You are exceeding your current quota for the requested model, calculated in tokens per minute. Find rate limits on [this page](/generative-apis/reference-content/rate-limits/)
- 500 - **API error**: An unexpected internal error has occurred within Scaleway's systems. If the issue persists, please [open a support ticket](https://console.scaleway.com/support/tickets/create).
- 429 - **Too Many Requests**: You are exceeding your current quota for the requested model, calculated in requests per minute. For information about rate limits, see the [Rate limits](/generative-apis/reference-content/rate-limits/) page.
- 429 - **Too Many Tokens**: You are exceeding your current quota for the requested model, calculated in tokens per minute. For information about rate limits, see the [Rate limits](/generative-apis/reference-content/rate-limits/) page.
- 500 - **API error**: An unexpected internal error has occurred within Scaleway's systems. If the issue persists, [open a Support ticket](https://console.scaleway.com/support/tickets/create).

For streaming responses via SSE, 5xx errors may occur after a 200 response has been returned.
For streaming responses via SSE, 5xx errors may occur after a 200 response has been returned.
46 changes: 23 additions & 23 deletions pages/generative-apis/api-cli/using-chat-api.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Using Chat API
title: Using the Chat API
description: This page explains how to use the Chat API to query models
tags: generative-apis ai-data chat-api
dates:
validation: 2025-09-22
posted: 2024-09-03
---

Scaleway Generative APIs are designed as a drop-in replacement for the OpenAI APIs. If you have an LLM-driven application that uses one of OpenAI's client libraries, you can easily configure it to point to Scaleway Chat API, and get your existing applications running using open-weight instruct models hosted at Scaleway.
Scaleway Generative APIs are designed as a drop-in replacement for the OpenAI APIs. If you have an LLM-driven application that uses one of OpenAI's client libraries, you can easily configure it to point to Scaleway's Chat API, and get your existing applications running using open-weight instruct models hosted at Scaleway.

<Message type="note">
You can also try the **Responses** API for LLM-driven tasks. Released in 2025, it is designed to combine the simplicity of Chat Completions with the ability to do more agentic tasks and reasoning. [Find out more about the Responses API](/generative-apis/how-to/query-language-models/#chat-completions-api-or-responses-api).
Expand Down Expand Up @@ -48,7 +48,7 @@ curl --request POST \

## Headers

Find required headers in [this page](/generative-apis/api-cli/using-generative-apis/).
For information about the required headers, see the [Using Generative APIs](/generative-apis/api-cli/using-generative-apis/) page.

## Body

Expand All @@ -59,35 +59,35 @@ Find required headers in [this page](/generative-apis/api-cli/using-generative-a
| **messages** | array of objects | A list of messages comprising the conversation so far. |
| **model** | string | The name of the model to query. |

Our chat API is OpenAI compatible. Use OpenAI’s [API reference](https://platform.openai.com/docs/api-reference/chat/create) for more detailed information on the usage.
Our Chat API is OpenAI compatible. Refer to OpenAI’s [API reference](https://platform.openai.com/docs/api-reference/chat/create) for detailed information on usage.

### Supported parameters

- temperature
- top_p
- max_tokens
- stream
- stream_options
- presence_penalty
- [response_format](/generative-apis/how-to/use-structured-outputs)
- logprobs
- stop
- seed
- [tools](/generative-apis/how-to/use-function-calling)
- [tool_choice](/generative-apis/how-to/use-function-calling)
- `temperature`
- `top_p`
- `max_tokens`
- `stream`
- `stream_options`
- `presence_penalty`
- `response_format` (For more information, see [How to use structured outputs](/generative-apis/how-to/use-structured-outputs).)
- `logprobs`
- `stop`
- `seed`
- `tools` (For more information, see [How to use function calling](/generative-apis/how-to/use-function-calling).)
- `tool_choice` (For more information, see [How to use function calling](/generative-apis/how-to/use-function-calling).)

### Unsupported parameters

- frequency_penalty
- n
- top_logprobs
- logit_bias
- user
- `frequency_penalty`
- `n`
- `top_logprobs`
- `logit_bias`
- `user`

If you have a use case requiring one of these unsupported parameters, please [contact us via Slack](https://slack.scaleway.com/) on #ai channel.
If you have a use case requiring one of these unsupported parameters, [contact us via Slack](https://slack.scaleway.com/) using the `#ai` channel.

## Going further

1. [Python code examples](/generative-apis/how-to/query-language-models/#querying-language-models-via-api) to query text models using Scaleway's Chat API
2. [How to use structured outputs](/generative-apis/how-to/use-structured-outputs) with the `response_format` parameter
3. [How to use function calling](/generative-apis/how-to/use-function-calling) with `tools` and `tool_choice`
3. [How to use function calling](/generative-apis/how-to/use-function-calling) with the `tools` and `tool_choice` parameters
14 changes: 7 additions & 7 deletions pages/generative-apis/api-cli/using-embeddings-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,25 @@ curl https://api.scaleway.ai/v1/embeddings \

## Headers

Find required headers in [this page](/generative-apis/api-cli/using-generative-apis/).
For information about the required headers, see the [Using Generative APIs](/generative-apis/api-cli/using-generative-apis/) page.

## Body

### Required parameters

| Param | Type | Description |
| ------------- |-------------|-------------|
| **input** | string or array | Input text to embed, encoded as a string or array of strings. It cannot be an empty string. |
| **model** | string | The name of the model to query. |
| `input` | string or array | Input text to embed, encoded as a string or array of strings. It cannot be an empty string. |
| `model` | string | The name of the model to query. |

Our embeddings API is OpenAI compatible. Use OpenAI’s [API reference](https://platform.openai.com/docs/api-reference/embeddings) for more detailed information on the usage.
Our Embeddings API is OpenAI compatible. Refer to OpenAI’s [API reference](https://platform.openai.com/docs/api-reference/embeddings) for detailed information on usage.

### Unsupported parameters

- encoding_format (default float)
- dimensions
- `encoding_format` (default float)
- `dimensions`

If you have a use case requiring one of these unsupported parameters, please [contact us via Slack](https://slack.scaleway.com/) on #ai channel.
If you have a use case requiring one of these unsupported parameters, [contact us via Slack](https://slack.scaleway.com/) using the `#ai` channel.

<Message type="note">
Check our [Python code examples](/generative-apis/how-to/query-embedding-models/#querying-embedding-models-via-api) to query embedding models using Scaleway's Embeddings API.
Expand Down
12 changes: 9 additions & 3 deletions pages/generative-apis/api-cli/using-generative-apis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ curl -X GET \
"https://api.scaleway.ai/v1/models"
```

When using the OpenAI Python SDK, the API key is set once during client initialization, and the SDK automatically manages the inclusion of the Authorization header in all API requests.
In contrast, when directly integrating with the Scaleway Generative APIs, you are responsible for manually setting the Authorization header with the API key for each request to ensure proper authentication.
When using the OpenAI Python SDK, the API key is set once during client initialization, and the SDK automatically manages the inclusion of the `Authorization` header in all API requests.
In contrast, when directly integrating with the Scaleway Generative APIs, you are responsible for manually setting the `Authorization` header with the API key for each request to ensure proper authentication.

## Content types

Expand All @@ -57,11 +57,17 @@ Querying AI models hosted by Scaleway Generative APIs will require any of the fo
- **GenerativeApisFullAccess**
- **AllProductsFullAccess**

<Message type="important">
Due to a product name change, the permission set names `InferenceFullAccess` and `InferenceReadOnly` are also changing. If you are automatically provisioning IAM policies (using Terraform, CLI, or APIs) with permission sets `InferenceFullAccess` and `InferenceReadOnly`, then you should edit your existing scripts and replace these permissions with `GenerativeApisFullAccess` and `GenerativeApisModelAccess`, respectively.

For now, both `InferenceFullAccess` and `InferenceReadOnly` will remain available at least until 1 June 2026. If you may be impacted by the permission set name update, you will receive a dedicated communication including the definitive End Of Life date for these permission sets.
</Message>

## Projects

You can scope your Generative APIs consumption to a [Project](/iam/concepts/#project). This is helpful to restrict IAM users’ access to only the Project they are working on, or to isolate your bills between Projects.

1. Find your Project ID in your [Project settings](https://console.scaleway.com/project/settings)
1. Find your Project ID in your [Project settings](https://console.scaleway.com/project/settings).
2. Insert your Project ID in the Generative APIs service URL, for example:

```
Expand Down
4 changes: 2 additions & 2 deletions pages/generative-apis/api-cli/using-models-api.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Using Models API
title: Using the Models API
description: This page explains how to use the Models API
tags: generative-apis ai-data embeddings-api
dates:
validation: 2025-09-22
posted: 2024-09-02
---

Scaleway Generative APIs are designed as drop-in replacement for the OpenAI APIs.
Scaleway Generative APIs are designed as a drop-in replacement for the OpenAI APIs.
The Models API allows you to easily list the various AI models available at Scaleway.

## List models
Expand Down
Loading
Loading