Nebius
Overview
Section titled “Overview”Nebius is an OpenAI-compatible provider offering comprehensive API support. DeepIntShield delegates to the OpenAI implementation with standard parameter filtering. Key features:
- Full OpenAI compatibility - Chat, text completion, embeddings, and responses
- Streaming support - Server-Sent Events with delta-based updates
- AI Project ID - Nebius-specific project identifier support
- Tool calling - Complete function definition and execution
- Parameter filtering - Removes unsupported OpenAI-specific fields
Supported Operations
Section titled “Supported Operations”| Operation | Non-Streaming | Streaming | Endpoint |
|---|---|---|---|
| Chat Completions | ✅ | ✅ | /v1/chat/completions |
| Responses API | ✅ | ✅ | /v1/chat/completions |
| Text Completions | ✅ | ✅ | /v1/completions |
| Embeddings | ✅ | - | /v1/embeddings |
| Image Generation | ✅ | - | /v1/images/generations |
| List Models | ✅ | - | /v1/models |
| Speech (TTS) | ❌ | ❌ | - |
| Transcriptions (STT) | ❌ | ❌ | - |
| Files | ❌ | ❌ | - |
| Batch | ❌ | ❌ | - |
1. Chat Completions
Section titled “1. Chat Completions”Request Parameters
Section titled “Request Parameters”Nebius supports all standard OpenAI chat completion parameters. For full parameter reference and behavior, see OpenAI Chat Completions.
Nebius-Specific Parameters
Section titled “Nebius-Specific Parameters”ai_project_id (Optional):
Nebius allows specifying a project ID for resource organization:
curl -X POST http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "nebius/model-name", "messages": [...], "ai_project_id": "project-123" }'request := &schemas.DeepIntShieldChatRequest{ Model: "model-name", Input: messages, Params: &schemas.ChatParameters{ ExtraParams: map[string]interface{}{ "ai_project_id": "project-123", }, },}The ai_project_id is appended as a query parameter to the request URL.
Filtered Parameters
Section titled “Filtered Parameters”Removed for Nebius compatibility:
prompt_cache_key- Not supportedverbosity- Anthropic-specificstore- Not supportedservice_tier- Not supported
Nebius supports all standard OpenAI message types, tools, responses, and streaming formats. For details on message handling, tool conversion, responses, and streaming, refer to OpenAI Chat Completions.
2. Responses API
Section titled “2. Responses API”Converted internally to Chat Completions:
ResponsesRequest → ChatRequest → ChatCompletion → ResponsesResponseSame parameter support and message handling as Chat Completions. Supports ai_project_id via extra_params.
3. Text Completions
Section titled “3. Text Completions”Nebius supports legacy text completion format:
| Parameter | Mapping |
|---|---|
prompt | Direct pass-through |
max_tokens | max_tokens |
temperature, top_p | Direct pass-through |
stop | Stop sequences |
frequency_penalty, presence_penalty | Penalty parameters |
4. Embeddings
Section titled “4. Embeddings”Nebius supports text embeddings:
| Parameter | Notes |
|---|---|
input | Text or array of texts |
model | Embedding model name |
encoding_format | ”float” or “base64” |
dimensions | Custom output dimensions (optional) |
Response returns embedding vectors with usage information.
5. Image Generation
Section titled “5. Image Generation”Request Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
model | string | ✅ | Model identifier |
prompt | string | ✅ | Text description of the image to generate |
size | string | ❌ | Image size in WxH format (e.g., "1024x1024"). Converted to separate width and height integers |
output_format | string | ❌ | Output format: "png", "jpeg", "webp". Note: "jpeg" is converted to "jpg" |
response_format | string | ❌ | Response format: "url" or "b64_json" |
seed | int | ❌ | Seed for reproducible generation |
negative_prompt | string | ❌ | Negative prompt |
num_inference_steps | int | ❌ | Number of inference steps |
extra_params | object | ❌ | Nebius-specific parameters (see below) |
Extra Parameters (via extra_params)
| Parameter | Type | Notes |
|---|---|---|
guidance_scale | int | Guidance scale (0-100) |
ai_project_id | string | Nebius project ID (added as query parameter) |
Request Conversion
- Model & Prompt:
bifrostReq.Model→req.Model(pointer),bifrostReq.Input.Prompt→req.Prompt(pointer) - Size Conversion:
params.size(WxH format like"1024x1024") is split into:width: Integer extracted from first part (e.g.,1024)height: Integer extracted from second part (e.g.,1024)
- Output Format:
params.output_format→req.ResponseExtension- Special conversion:
"jpeg"→"jpg"(Nebius uses"jpg"not"jpeg")
- Response Format:
params.response_format→req.ResponseFormat(passed directly:"url"or"b64_json") - Seed & Negative Prompt:
params.seed→req.Seed,params.negative_prompt→req.NegativePrompt(passed directly) - Num Inference Steps:
params.num_inference_steps→req.NumInferenceSteps(passed directly) - Extra Parameters:
guidance_scale→req.GuidanceScale(int pointer)ai_project_id→ Added as query parameter?ai_project_id={value}to the request URL
Response Conversion
- Image Data: Each item in
response.data[]→ImageDatawith:url: Fromdata[].urlb64_json: Fromdata[].b64_jsonrevised_prompt: Fromdata[].revised_promptindex: Sequential index (0, 1, 2, …)
- ID:
response.id→response.ID - Provider: Set to
nebiusinExtraFields
Endpoint: /v1/images/generations
Streaming: Image generation streaming is not supported by Nebius.
6. List Models
Section titled “6. List Models”Lists available Nebius models with capabilities and context lengths.
Unsupported Features
Section titled “Unsupported Features”| Feature | Reason |
|---|---|
| Speech/TTS | Not offered by Nebius API |
| Transcription/STT | Not offered by Nebius API |
| Batch Operations | Not offered by Nebius API |
| File Management | Not offered by Nebius API |
Caveats
Section titled “Caveats”Cache Control Stripped
Severity: Medium Behavior: Cache control directives are removed from messages Impact: Prompt caching features don’t work Code: Stripped during JSON marshaling
Parameter Filtering
Severity: Low Behavior: OpenAI-specific fields filtered out Impact: prompt_cache_key, verbosity, store removed Code: filterOpenAISpecificParameters
User Field Size Limit
Severity: Low Behavior: User field > 64 characters silently dropped Impact: Longer user identifiers are lost Code: SanitizeUserField enforces 64-char max