Ngamia’s model catalog is the source of truth for what your API key can call. Availability, capabilities, and prices change over time, so fetch GET /v1/models instead of shipping a permanent model list in your application.
The normal catalog is paid-only: free variants and records with no billable price dimension are not exposed for ordinary gateway use. Model availability can still change, so refresh the catalog when your service starts and after a model-not-found response.
Public model identifier
Use the model value returned by the catalog in your request. It is a public model identifier such as anthropic/claude-3.5-sonnet or voyageai/voyage-4-lite. Do not construct a model value from private provider credentials or internal database ids.
{
"model": "anthropic/claude-3.5-sonnet",
"display_name": "Anthropic: Claude 3.5 Sonnet",
"modality": "text->text",
"input_modalities": ["text"],
"output_modalities": ["text"],
"supported_parameters": ["temperature", "max_tokens"],
"context_window": 200000,
"input_price_per_1k_credits": 0.25,
"output_price_per_1k_credits": 1.25,
"image_price_per_unit_credits": 0,
"request_price_credits": 0
}The example is illustrative. Use the values returned by your own catalog response for the actual request.
List available models
/v1/modelsAPI keycurl https://api.ngamia.cc/v1/models \
-H "Authorization: Bearer $NGAMIA_API_KEY"The response is a standard Ngamia JSON envelope whose data value contains model records. The catalog includes text, multimodal, embedding, transcription, speech, image-generation, and video-generation-capable records when those models are enabled and billable.
Fields for a model picker
| Field | Type | Use it for |
|---|---|---|
model | string | Send this public value in a gateway request. |
display_name | string | Show a readable name to a user. |
modality | string | Summarize the model’s input-to-output shape. |
input_modalities | string array | Filter by supported inputs such as text, image, file, or audio. |
output_modalities | string array | Filter for text, embeddings, transcription, or speech. |
supported_parameters | string array | Enable optional request fields only when advertised. |
context_window | integer or null | Bound text and multimodal request size where applicable. |
input_price_per_1k_credits | number | Estimate token-based input cost. |
output_price_per_1k_credits | number | Estimate token-based output cost. |
image_price_per_unit_credits | number | Include image-unit charges when applicable. |
request_price_credits | number | Include a fixed request charge when applicable. |
Select by capability
Filter the returned records in your application rather than guessing model names:
models = response_json["data"]
embedding_models = [
item for item in models
if "embeddings" in item.get("output_modalities", [])
]
stt_models = [
item for item in models
if "transcription" in item.get("output_modalities", [])
]
tts_models = [
item for item in models
if "speech" in item.get("output_modalities", [])
]For chat, select a model advertising text output and confirm that the requested message content is included in its input_modalities. For Embeddings, select embeddings. For Voice & Ongea na Ngamia, select transcription, text, and optionally speech across the three stages.
Read one model
/v1/models/{id}API keyUse the catalog record identifier returned by the list endpoint when the detail route is required. The identifier is a catalog resource id and is not the value sent in a chat, embedding, or voice request; those requests use the public model value.
Pricing behavior
Ngamia bills enabled model requests in credits. Depending on the capability, a request can use token, image-unit, fixed-request, audio-duration, or character-based pricing. Read the applicable catalog fields and the usage returned by the endpoint; do not assume that a TTS or STT request uses chat-token pricing.
References
The catalog's input_modalities and output_modalities fields are the source of truth for which capability a list, streaming, embedding, speech, text, or image request can use.