Python SDK
LLMTR is OpenAI-compatible, so the official OpenAI Python SDK works with no changes. Just set base_url and api_key.
Install
Section titled “Install”pip install openaiBasic usage
Section titled “Basic usage”from openai import OpenAI
client = OpenAI( base_url="https://llmtr.com/v1", api_key="sk_your_key")
response = client.chat.completions.create( model="openai/gpt-4o", messages=[ {"role": "system", "content": "You are concise."}, {"role": "user", "content": "Explain LLMTR in one line."} ], temperature=0.3)
print(response.choices[0].message.content)Streaming
Section titled “Streaming”stream = client.chat.completions.create( model="anthropic/claude-sonnet-4.5", messages=[{"role": "user", "content": "Write a haiku about fog."}], stream=True)
for chunk in stream: delta = chunk.choices[0].delta.content or "" print(delta, end="", flush=True)import asynciofrom openai import AsyncOpenAI
async def main(): client = AsyncOpenAI( base_url="https://llmtr.com/v1", api_key="sk_your_key" ) response = await client.chat.completions.create( model="openai/gpt-4o", messages=[{"role": "user", "content": "Hi"}] ) print(response.choices[0].message.content)
asyncio.run(main())Environment variables
Section titled “Environment variables”The SDK reads OPENAI_API_KEY and OPENAI_BASE_URL:
export OPENAI_API_KEY="sk_your_key"export OPENAI_BASE_URL="https://llmtr.com/v1"from openai import OpenAIclient = OpenAI() # reads env varsImage input
Section titled “Image input”response = client.chat.completions.create( model="google/gemini-2.5-flash", messages=[{ "role": "user", "content": [ {"type": "text", "text": "What is in this photo?"}, { "type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"} } ] }])Retry and timeout
Section titled “Retry and timeout”The SDK has built-in retry:
client = OpenAI( base_url="https://llmtr.com/v1", api_key="sk_your_key", max_retries=3, timeout=30.0)