Skip to content

Nebius

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
OperationNon-StreamingStreamingEndpoint
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-

Nebius supports all standard OpenAI chat completion parameters. For full parameter reference and behavior, see OpenAI Chat Completions.

ai_project_id (Optional):

Nebius allows specifying a project ID for resource organization:

Terminal window
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"
}'

The ai_project_id is appended as a query parameter to the request URL.

Removed for Nebius compatibility:

  • prompt_cache_key - Not supported
  • verbosity - Anthropic-specific
  • store - Not supported
  • service_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.


Converted internally to Chat Completions:

ResponsesRequest → ChatRequest → ChatCompletion → ResponsesResponse

Same parameter support and message handling as Chat Completions. Supports ai_project_id via extra_params.


Nebius supports legacy text completion format:

ParameterMapping
promptDirect pass-through
max_tokensmax_tokens
temperature, top_pDirect pass-through
stopStop sequences
frequency_penalty, presence_penaltyPenalty parameters

Nebius supports text embeddings:

ParameterNotes
inputText or array of texts
modelEmbedding model name
encoding_format”float” or “base64”
dimensionsCustom output dimensions (optional)

Response returns embedding vectors with usage information.


Request Parameters

ParameterTypeRequiredNotes
modelstringModel identifier
promptstringText description of the image to generate
sizestringImage size in WxH format (e.g., "1024x1024"). Converted to separate width and height integers
output_formatstringOutput format: "png", "jpeg", "webp". Note: "jpeg" is converted to "jpg"
response_formatstringResponse format: "url" or "b64_json"
seedintSeed for reproducible generation
negative_promptstringNegative prompt
num_inference_stepsintNumber of inference steps
extra_paramsobjectNebius-specific parameters (see below)

Extra Parameters (via extra_params)

ParameterTypeNotes
guidance_scaleintGuidance scale (0-100)
ai_project_idstringNebius project ID (added as query parameter)

Request Conversion

  • Model & Prompt: bifrostReq.Modelreq.Model (pointer), bifrostReq.Input.Promptreq.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_formatreq.ResponseExtension
    • Special conversion: "jpeg""jpg" (Nebius uses "jpg" not "jpeg")
  • Response Format: params.response_formatreq.ResponseFormat (passed directly: "url" or "b64_json")
  • Seed & Negative Prompt: params.seedreq.Seed, params.negative_promptreq.NegativePrompt (passed directly)
  • Num Inference Steps: params.num_inference_stepsreq.NumInferenceSteps (passed directly)
  • Extra Parameters:
    • guidance_scalereq.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[]ImageData with:
    • url: From data[].url
    • b64_json: From data[].b64_json
    • revised_prompt: From data[].revised_prompt
    • index: Sequential index (0, 1, 2, …)
  • ID: response.idresponse.ID
  • Provider: Set to nebius in ExtraFields

Endpoint: /v1/images/generations

Streaming: Image generation streaming is not supported by Nebius.


Lists available Nebius models with capabilities and context lengths.


FeatureReason
Speech/TTSNot offered by Nebius API
Transcription/STTNot offered by Nebius API
Batch OperationsNot offered by Nebius API
File ManagementNot offered by Nebius API

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