{"info":{"name":"ApiLux API","description":"Public ApiLux endpoints. Set the collection variables before sending: APILUX_BASE_URL and APILUX_API_KEY.","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{APILUX_API_KEY}}","type":"string"}]},"variable":[{"key":"APILUX_BASE_URL","value":"https://apilux.net/api/v1","type":"string"},{"key":"APILUX_API_KEY","value":"","type":"string"},{"key":"chat_model","value":"REPLACE_FROM_GET_MODELS","type":"string"},{"key":"image_model","value":"REPLACE_FROM_GET_MODELS","type":"string"},{"key":"video_model","value":"REPLACE_FROM_GET_MODELS","type":"string"},{"key":"video_job_id","value":"vidjob_REPLACE_WITH_JOB_ID","type":"string"}],"item":[{"name":"GET /models","request":{"method":"GET","header":[],"url":{"raw":"{{APILUX_BASE_URL}}/models","host":["{{APILUX_BASE_URL}}"],"path":["models"]},"description":"Returns the models you can call right now. Models without a configured price, or that are disabled, are not listed.\n\nBilling: Free — no credit is charged."}},{"name":"POST /chat/completions","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/chat/completions","host":["{{APILUX_BASE_URL}}"],"path":["chat","completions"]},"body":{"mode":"raw","raw":"{\n    \"model\": \"MODEL_ID\",\n    \"messages\": [{ \"role\": \"user\", \"content\": \"Xin chào\" }]\n  }","options":{"raw":{"language":"json"}}},"description":"Generate text, returned in the familiar OpenAI response shape.\n\nBilling: By total tokens (input + output), priced per 1,000,000 tokens. Minimum 1 credit per successful request."}},{"name":"POST /chat","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/chat","host":["{{APILUX_BASE_URL}}"],"path":["chat"]},"body":{"mode":"raw","raw":"{\n    \"model\": \"MODEL_ID\",\n    \"messages\": [{ \"role\": \"user\", \"content\": \"Xin chào\" }]\n  }","options":{"raw":{"language":"json"}}},"description":"ApiLux's first public endpoint, with a leaner response. Kept permanently for existing integrations — new projects should use `/chat/completions`.\n\nBilling: Same as `/chat/completions`."}},{"name":"POST /messages","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/messages","host":["{{APILUX_BASE_URL}}"],"path":["messages"]},"body":{"mode":"raw","raw":"{\n    \"model\": \"MODEL_ID\",\n    \"max_tokens\": 1024,\n    \"messages\": [{ \"role\": \"user\", \"content\": \"Xin chào\" }]\n  }","options":{"raw":{"language":"json"}}},"description":"Generate text over the Anthropic Messages protocol, with `tools` and streaming. This is the endpoint for Claude Code and the Anthropic SDK.\n\nBilling: By total tokens (input + output + cache tokens), priced per 1,000,000 tokens. Minimum 1 credit per successful request."}},{"name":"POST /messages/count_tokens","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/messages/count_tokens","host":["{{APILUX_BASE_URL}}"],"path":["messages","count_tokens"]},"body":{"mode":"raw","raw":"{\n    \"model\": \"MODEL_ID\",\n    \"messages\": [{ \"role\": \"user\", \"content\": \"Xin chào\" }]\n  }","options":{"raw":{"language":"json"}}},"description":"Count the input tokens of a conversation before calling the model.\n\nBilling: No credits are charged. Account rate limits still apply."}},{"name":"POST /responses","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/responses","host":["{{APILUX_BASE_URL}}"],"path":["responses"]},"body":{"mode":"raw","raw":"{\n    \"model\": \"MODEL_ID\",\n    \"input\": \"Xin chào\"\n  }","options":{"raw":{"language":"json"}}},"description":"Generate text over the OpenAI Responses protocol, with `tools` and streaming. This is the endpoint for Codex.\n\nBilling: By total tokens (input + output), priced per 1,000,000 tokens. Minimum 1 credit per successful request."}},{"name":"POST /images/generations","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/images/generations","host":["{{APILUX_BASE_URL}}"],"path":["images","generations"]},"body":{"mode":"raw","raw":"{\n    \"model\": \"IMAGE_MODEL_ID\",\n    \"prompt\": \"Giao diện SaaS sáng, tối giản\",\n    \"size\": \"1024x1024\"\n  }","options":{"raw":{"language":"json"}}},"description":"Create a new image from a text prompt.\n\nBilling: By the **number of images actually produced**, not the `n` you requested — some models return a single image regardless."}},{"name":"POST /images/edits","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/images/edits","host":["{{APILUX_BASE_URL}}"],"path":["images","edits"]},"description":"Edit an existing image from a text instruction: keep the subject and composition, adjust colours, retouch, change details.\n\nBilling: By the number of images returned, same as generation."}},{"name":"POST /videos/generations","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{APILUX_BASE_URL}}/videos/generations","host":["{{APILUX_BASE_URL}}"],"path":["videos","generations"]},"body":{"mode":"raw","raw":"{\n    \"model\": \"VIDEO_MODEL_ID\",\n    \"prompt\": \"Sáng sớm trên biển, chuyển động điện ảnh\",\n    \"duration_seconds\": 4,\n    \"aspect_ratio\": \"16:9\"\n  }","options":{"raw":{"language":"json"}}},"description":"Create a video from a prompt, from an image, or from a first and last frame. Returns a job immediately — rendering takes tens of seconds to minutes.\n\nBilling: Charged **at job creation**, by the `duration_seconds` you requested. Polling costs nothing extra. A `failed` job is refunded automatically, exactly once."}},{"name":"GET /videos/generations/{jobId}","request":{"method":"GET","header":[],"url":{"raw":"{{APILUX_BASE_URL}}/videos/generations/{jobId}","host":["{{APILUX_BASE_URL}}"],"path":["videos","generations","{jobId}"]},"description":"Check a video job's progress. Only the job's owner can read it.\n\nBilling: Free. Polling never charges anything."}},{"name":"GET /videos/generations/{jobId}/content","request":{"method":"GET","header":[],"url":{"raw":"{{APILUX_BASE_URL}}/videos/generations/{jobId}/content","host":["{{APILUX_BASE_URL}}"],"path":["videos","generations","{jobId}","content"]},"description":"Download the MP4 of a completed job. The file is streamed through ApiLux, so your ApiLux API key is all you need.\n\nBilling: Free. You were charged at job creation."}}]}