LanoX Image
lanox-imageGenerate and edit images with your choice of model.
OPENAI-COMPATIBLE API & CLIENT SETUP
The LanoX docs hub helps you connect OpenAI, Claude, Grok, DeepSeek, and other models to your app, Codex, or Claude Code. Add your API key and choose an exact model ID from the live catalog — everything you need is in one documentation hub.
SOFTWARE
OpenAI coding assistant
Setup guideAnthropic coding assistant
Setup guideAI work assistant
Setup guideFlexible model calling tool
Setup guideAlready have an API key? Start configuring
SKILLS
lanox-imageGenerate and edit images with your choice of model.
lanox-videoGenerate videos with a specified model and track task progress.
Skills are optional and independent of software setup. Model calls are billed by actual usage.
View pricingFOR DEVELOPERS
Returns conversational model output synchronously or as an SSE stream.
/v1/chat/completionsgpt-5.6-solAuthorization: Bearer $LANOX_API_KEYapplication/json| Field | Type | Required | Description |
|---|---|---|---|
model | string | Required | The model identifier, such as gpt-5.6-sol. The gateway requires a non-empty value. |
messages | object[] | Optional | An OpenAI-compatible message array. The gateway forwards it unchanged; the selected model determines whether it is required and which message types are supported. |
messages[].role | developer | system | user | assistant | tool | Optional | The message role. |
messages[].content | string | object[] | null | Optional | Plain text or an array of multimodal content blocks. It may be null for an assistant message that contains only tool calls. |
messages[].content[].type | text | input_text | image_url | string | Optional | The content-block type. Available types depend on the selected model. |
messages[].content[].text | string | Optional | The text carried by a text or input_text content block. |
messages[].content[].image_url | string | object | Optional | An image URL accepted by the compatible model, either as a string or as an object containing url and detail. |
messages[].name | string | Optional | An optional participant name. |
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Optional | A common Chat Completion response ID. The gateway neither rewrites nor guarantees this field. |
object | "chat.completion" | Optional | The object type for a non-streaming response. |
created | integer | Optional | The creation time as a Unix timestamp in seconds. |
model | string | Optional | The model that generated the response. |
choices | object[] | Optional | The array of completion candidates. |
choices[].index | integer | Optional | The candidate index. |
choices[].message | object | Optional | The assistant message returned by a non-streaming request. |
choices[].message.role | "assistant" | Optional | The assistant message role. |
curl -X POST "https://api.lanox.ai/v1/chat/completions" \
-H "Authorization: Bearer $LANOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Check the weather in Shanghai"
}
]
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Look up the weather for a city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": [
"city"
],
"additionalProperties": false
},
"strict": true
}
}
],
"tool_choice": "auto",
"temperature": 0.2,
"max_completion_tokens": 300,
"stream": false
}'{
"id": "chatcmpl_example",
"object": "chat.completion",
"created": 1785196800,
"model": "gpt-5.6-sol",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": null,
"tool_calls": [{
"id": "call_weather_01",
"type": "function",
"function": {"name": "get_weather", "arguments": "{\"city\":\"Shanghai\"}"}
}]
},
"finish_reason": "tool_calls"
}],
"usage": {
"prompt_tokens": 42,
"completion_tokens": 18,
"total_tokens": 60,
"prompt_tokens_details": {"cached_tokens": 0}
}
}Read your API key from a local environment variable
DOCUMENTATION
API reference, software setup and your first call, all in one place.
Request examples, parameters and response fields for text, image and video APIs.
Addresses and configuration checks for Codex, Claude Code and CC Switch.
Create an API key and verify models, results, usage and charges.
Text to image, image editing, task creation and result retrieval.
FAQ
Answers about your account, credits, and API setup.
LanoX connects to model services through an API key, separately from your personal ChatGPT or Claude subscription. You still need to follow the platform's and model provider's usage policies. This setup is not a guarantee of zero risk.
Use models from GPT, Claude, Gemini, DeepSeek, Qwen, and other families with a single LanoX balance. For current availability, features, and rates, check Models & pricing. To connect your app, follow the setup guides.
Enterprise purchasing and dynamic resource routing help lower costs. You pay for usage at LanoX's published model rates, rather than buying a separate subscription for each model. Discounts and rates vary by model; see the published pricing for details.
Standard top-up credits have no expiry date while your account remains open. Charges are deducted as you use the service.
Time-limited credits, such as daily or weekly passes, are an exception. Check the terms for the product you purchase.
LanoX provides API access to models, not a subscription to the Claude website. Add your LanoX API key to a compatible app and pay for usage from one shared balance. Features and limits depend on the model and app you choose.
No. For Codex, use https://api.lanox.ai/v1 with the native Responses format. For Claude Code, use https://api.lanox.ai without /v1. Follow the setup guide for your app.
No. App setup and skills are separate. Add a skill only when you want image or video creation: install it in a Codex chat, add your API key, then restart Codex.
Copy the exact model ID from the catalog or GET /v1/models . Make sure it supports your endpoint. Use the ID, not the model's display name.
A successful creation response means the task was accepted, not finished. Save the task ID and poll its status. Once it succeeds, retrieve the result URL. Check the existing task and your usage before retrying so you don't create duplicates.
Submit a ticket to follow up on integration issues.