Login
API Reference

Parameters & Models

Full parameter reference and supported model families.

All documentation

Complete reference for request fields and model selection.

Common parameters

ParameterRequiredTypeDefaultDescription
modelYesstringModel id or model name
providerNostringmodel’s providerMust match resolved provider if set
typeNostringtexttext, image, or embedding

The API resolves model by name first, then by id. Prefer the exact names returned by GET https://ai.lumowp.com/api/external/ai.

Text parameters

ParameterTypeDefaultDescription
promptstringRequired unless messages is provided
messagesarrayChat turns: { role, content }
systemstringOptional system prompt with prompt
max_tokensnumbercappedMaximum reply/output tokens to generate; it does not change the model’s context capacity
temperaturenumberprovider defaultCreativity / randomness (0.02.0)
streambooleanfalseSSE streaming when supported

Image parameters

ParameterTypeDefaultDescription
promptstringRequired image description
sizestring1024x10241024x1024, 1792x1024, 1024x1792 (avoid 256x256/512x512 for openai/gpt-image-1-mini)
qualitystringmediumlow, medium, high (legacy: standardmedium, hdhigh)
stylestringvivid or natural when supported
streambooleanfalseNot supported for images

Embedding parameters

ParameterTypeDefaultDescription
inputstring or string[]Required text(s) to embed
streambooleanfalseNot supported for embeddings

Supported model families

Available models depend on your plan/credits, API key restrictions, and live provider configuration. Always discover the current list with:

curl -X GET "https://ai.lumowp.com/api/external/ai" \
  -H "X-API-Key: $LUMO_AI_API_KEY"

Typical families include:

Text / chat

ProviderExample modelsBest for
Lumo AIlumo-aiStable default alias; upstream routing is managed for you
OpenAIgpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.4, gpt-5.4-mini, gpt-5.4-nanoComplex reasoning, balanced, high-volume
Anthropicclaude-fable-5, claude-opus-4-8, claude-sonnet-5, claude-haiku-4-5Agents, coding, fast tasks
Googlegemini-3.6-flash, gemini-3.5-flash-lite, gemini-2.5-proMultimodal, agentic, cost-efficient
Mistralmistral-medium-3-5, mistral-large-latest, mistral-small-latest, codestral-latestMultilingual, agentic, coding
Grok (xAI)grok-4.5, grok-4.3, grok-build-0.1Tool calling, coding

Image

ProviderExample modelsNotes
OpenAIopenai/gpt-image-1-miniSize / quality (low/medium/high) options; returns hosted URL
Googlegemini-3.1-flash-image, gemini-3.1-flash-lite-image, gemini-3-pro-imageNano Banana family
Other image providersSee image_generation_providersCapability flags in GET response

Embeddings

ProviderExample modelsNotes
OpenAItext-embedding-3-small, text-embedding-3-largeSee embedding_providers + dimensions

Example names above are illustrative. If a name is not returned by GET on your site, it is unavailable.

gpt-5.4-pro is intentionally not listed: it requires OpenAI’s Responses API, while this service currently routes OpenAI text requests through Chat Completions.

Capability flags

Each model in the GET response includes:

{
  "id": "...",
  "name": "...",
  "capabilities": {
    "chat": true,
    "imageGeneration": false,
    "imageAnalysis": false,
    "streaming": true,
    "embedding": false
  },
  "context_length": 128000,
  "max_output_tokens": 8192,
  "maxTokens": 8192
}

context_length is the combined capacity for input, conversation history, and output. max_output_tokens is the largest reply this gateway will accept for that model. maxTokens is a deprecated compatibility alias of max_output_tokens.

Use these flags to filter UI options instead of hard-coding model lists.

Token costs

Token deduction is calculated from the selected model and request type:

  • Text requests use input/output token pricing
  • Image requests use the model’s image cost configuration
  • Embedding requests use embedding pricing when configured

If pricing configuration is unavailable, the API returns 503 rather than guessing a cost.

Choosing a model

  1. Call GET https://ai.lumowp.com/api/external/ai
  2. Filter by capabilities.chat, capabilities.imageGeneration, or capabilities.embedding
  3. Respect api_key_info.allowed_providers and allowed_models
  4. Pass the chosen model (and matching provider) on POST