Skip to content

Chat Models Guide ​

This guide explains how to access VLX FLUX chat models through the OpenAI-compatible API. The request path is https://api.vlxflux.io/v1/chat/completions.

Prerequisites

  • Register for VLX FLUX and obtain an API key
  • Use the base URL https://api.vlxflux.io/v1
  • Install the required runtime locally

Python Usage ​

Install Dependency ​

bash
pip install openai

Basic Request ​

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxx",
    base_url="https://api.vlxflux.io/v1"
)

response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Write a short poem about spring."}
    ]
)

print(response.choices[0].message.content)

Streaming ​

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxx",
    base_url="https://api.vlxflux.io/v1"
)

stream = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "Tell me a joke about programmers."}
    ],
    stream=True,
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")
print()

Multi-turn Conversation ​

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxx",
    base_url="https://api.vlxflux.io/v1"
)

messages = [
    {"role": "system", "content": "You are a translation assistant."}
]

while True:
    user_input = input("User: ")
    if user_input.lower() in ["quit", "exit", "q"]:
        break

    messages.append({"role": "user", "content": user_input})

    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=messages
    )

    reply = response.choices[0].message.content
    print(f"Assistant: {reply}")

    messages.append({"role": "assistant", "content": reply})

Local Client Configuration ​

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("VLXFLUX_API_KEY"),
    base_url="https://api.vlxflux.io/v1"
)

curl Usage ​

Basic Request ​

bash
curl https://api.vlxflux.io/v1/chat/completions   -H "Content-Type: application/json"   -H "Authorization: Bearer sk-xxxxxxxx"   -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {
        "role": "system",
        "content": "You are an expert programmer."
      },
      {
        "role": "user",
        "content": "How should I learn Python?"
      }
    ]
  }'

Streaming ​

bash
curl https://api.vlxflux.io/v1/chat/completions   -H "Content-Type: application/json"   -H "Authorization: Bearer sk-xxxxxxxx"   -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {
        "role": "user",
        "content": "Write a short poem."
      }
    ],
    "stream": true
  }'

Multi-turn Example ​

bash
curl https://api.vlxflux.io/v1/chat/completions   -H "Content-Type: application/json"   -H "Authorization: Bearer sk-xxxxxxxx"   -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {
        "role": "system",
        "content": "You are a support assistant. Keep your tone friendly and professional."
      },
      {
        "role": "user",
        "content": "I cannot log in. The page says my password is incorrect, but I am sure it is right."
      }
    ]
  }'

Response Format ​

json
{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1690000000,
  "model": "gpt-3.5-turbo-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Here is your reply."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 12,
    "total_tokens": 27
  }
}

Common Parameters ​

ParameterTypeDescription
modelstringRequired model name.
messagesarrayRequired list of messages.
streambooleanEnable streaming output.
temperaturenumberControls randomness.
max_tokensintegerLimits maximum output tokens.

Error Handling ​

python
import os
from openai import OpenAI, APIError, APIConnectionError, RateLimitError

client = OpenAI(
    api_key=os.environ.get("VLXFLUX_API_KEY"),
    base_url="https://api.vlxflux.io/v1"
)

try:
    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": "Hello"}]
    )
    print(response.choices[0].message.content)
except APIConnectionError:
    print("Connection failed")
except RateLimitError:
    print("Rate limit exceeded")
except APIError as e:
    print(f"API error: {e}")