Skip to main content

Field Support

The tables below clarify which fields Djelia fully supports, which it accepts for compatibility, and which are simply ignored. Fields Djelia cannot honor are silently accepted and disregarded—they are never rejected—ensuring that your existing OpenAI integrations continue working seamlessly when you switch endpoints. Every field that Djelia ignores is explicitly listed here for your reference.

POST /audio/speech

FieldStatus
modelUse jifili-1
inputSupported. Maximum 1000 characters.
voicemoussa, alloy, nova, coral. The last three are OpenAI aliases that map to moussa. Any other value returns 400 unsupported_voice.
response_formatmp3 (default), wav, pcm, opus, ulaw, alaw, l16_8000, l16_16000, fmp4
stream_formataudio (default) or sse
speedIgnored
instructionsIgnored

The pcm format is headerless 16-bit signed little-endian mono at 24 kHz, just like OpenAI. For l16_8000 and l16_16000, the same structure is used, but at 8 kHz and 16 kHz sample rates, respectively.

For more control over speech sampling, use the Djelia extensions. Note that the legacy djelia.description and djelia.speaker fields are not recognized by the jifili-1 model. While djelia.chunk_size is checked for validity, it is not applied—Djelia automatically determines the optimal streamed chunk size for your output.

POST /audio/transcriptions

FieldStatus
fileFully supported
modelUse sunjata-1
response_formatjson (default), text, verbose_json, srt, vtt
streamSupported with response_format json or text
languageIgnored. Djelia's ASR is Bambara-only
promptIgnored
temperatureSupported
timestamp_granularitiesIgnored. Segment timings are always returned in verbose_json

Djelia's ASR returns per-segment timings, so verbose_json, srt and vtt all carry real timestamps. Within verbose_json segments, tokens is always an empty list, and seek, temperature, avg_logprob, compression_ratio and no_speech_prob are always 0: the fields exist so the SDK response models parse, but Djelia does not produce those statistics.

POST /audio/translations

FieldStatus
fileFully supported
modelUse sunjata-1
response_formatSupported: json (default), text
languageDjelia extension. eng_Latn (default) or fra_Latn. OpenAI's endpoint is English-only
promptIgnored
temperatureSupported by the transcription step

srt, vtt and verbose_json return 400 here: translation does not preserve per-segment timings, so subtitle output would carry timings that no longer line up with the translated words.

:::info Billing This endpoint runs two models, so it is charged for two: the transcription per second of audio, and the translation per character of the transcript, each at its own rate. They appear as two usage records against the same request. A translation that fails is not charged. :::

POST /chat/completions

Text translation has no dedicated endpoint in the OpenAI shape, so Djelia's translation model is addressed as a chat model. The text to translate is the last user message, and the language pair rides in djelia.

FieldStatus
modelUse banjugu-1
messagesSupported. String content and type: "text" content parts both work
streamSupported
temperature, top_p, n, max_tokens, max_completion_tokens, stopIgnored
presence_penalty, frequency_penalty, logit_bias, seedIgnored
logprobs, top_logprobsIgnored
response_format, tools, tool_choiceIgnored. Djelia's translation model has no tool use
user, store, metadata, service_tier, stream_optionsIgnored
messages[].nameIgnored
Image, audio and file content partsIgnored

:::info Usage counts are characters, not tokens Djelia meters translation per character, and usage reports what you are actually billed for. :::

Because translation is not incremental, stream=True emits the whole translation as a single content delta followed by the terminating chunk, rather than token-by-token output.

Request Limits

  • Speech input accepts up to 1,000 characters.
  • The djelia.chunk_size parameter must be set between 0.1 and 2.0 seconds.
  • Translation requires that the source and target languages are different, and both must be valid supported codes.
  • Speech translation responses are available only in json or text formats.

If any request parameter is invalid, you’ll receive an error formatted according to OpenAI’s style.