SDKs nativos
SDK de OpenAI
Usa TokenLab con los SDK oficiales de OpenAI y clientes compatibles con OpenAI
Resumen
TokenLab funciona con los SDK oficiales de OpenAI apuntando el cliente a https://api.tokenlab.sh/v1.
Para la mayoría de proyectos nuevos, prefiera Chat Completions como la ruta compatible con OpenAI predeterminada. Use Responses API solo cuando necesite explícitamente el comportamiento específico de Responses.
Los campos específicos de Responses no garantizan comportarse de forma idéntica en todos los modelos y rutas dirigidas.
Python, JavaScript y Go tienen SDKs oficiales de OpenAI. PHP funciona bien con clientes comunitarios compatibles con OpenAI, pero no es un SDK oficial de OpenAI.
Instalación
pip install openaiUtilice POST /v1/responses solo cuando necesite explícitamente comportamiento específico de Responses. Algunos campos exclusivos de Responses aún pueden depender del modelo seleccionado y de la ruta enrutada.
Configurar el cliente
from openai import OpenAI
client = OpenAI(
api_key="sk-your-tokenlab-key",
base_url="https://api.tokenlab.sh/v1",
)Recomendado: Chat Completions
response = client.chat.completions.create(
model="gpt-5.6-terra",
messages=[{"role": "user", "content": "Reply with: Connected to TokenLab."}]
)
print(response.choices[0].message.content)Avanzado: Responses API
Usa esta ruta solo cuando tu herramienta o flujo de trabajo dependa explícitamente de la semántica de OpenAI Responses.
Streaming con Responses
stream = client.responses.create(
model="gpt-5.6-terra",
input="Write a short poem about coding.",
stream=True,
)
for event in stream:
if event.type == "response.output_text.delta":
print(event.delta, end="")Herramientas / Llamado de funciones
response = client.responses.create(
model="gpt-5.6-terra",
input="What's the weather in Tokyo?",
tools=[{
"type": "function",
"name": "get_weather",
"description": "Get weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string"}
},
"required": ["location"]
}
}]
)
for item in response.output:
if item.type == "function_call":
print(item.name)
print(item.arguments)Visión con Responses
response = client.responses.create(
model="gpt-5.6-terra",
input=[{
"role": "user",
"content": [
{"type": "input_text", "text": "What's in this image?"},
{"type": "input_image", "image_url": "https://example.com/image.jpg"}
]
}]
)
print(response.output_text)Embeddings
response = client.embeddings.create(
model="text-embedding-3-small",
input="Hello world"
)
print(response.data[0].embedding[:5])Chat Completions
Chat Completions es la ruta compatible con OpenAI predeterminada para TokenLab:
response = client.chat.completions.create(
model="gpt-5.6-terra",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(response.choices[0].message.content)