<aside>

Overview

:ambient-logo-original: Docs Home

What is Ambient?

Getting Started

Testnet

App

API

On-Chain

Tool Oracle

Claude Code

Miners

Encyclopedia

Solana Quickstart

Developers

OpenAI SDK

Anthropic SDK

API Docs

API Playground

Links

🌐 Homepage

✉️ [email protected]

:discord-symbol-blurple: Discord

:github-mark-white-bg: github.com/ambient-xyz

:x-logo-black: @ambient_xyz

:x-logo-black: @IridiumEagle

</aside>

This guide shows how to use the OpenAI SDK to connect to Ambient's inference API.

Prerequisites

  1. An Ambient API key from app.ambient.xyz/keys
  2. The OpenAI SDK installed for your language

Python

Installation

pip install openai

Usage

from openai import OpenAI

client = OpenAI(
    base_url="<https://api.ambient.xyz/v1>",
    api_key="your-ambient-api-key",
)

response = client.chat.completions.create(
    model="zai-org/GLM-4.6",
    messages=[
        {"role": "user", "content": "Hello, how are you?"}
    ],
)

message = response.choices[0].message
if message.reasoning_content:
    print("Reasoning:", message.reasoning_content)
print("Response:", message.content)

Streaming

from openai import OpenAI

client = OpenAI(
    base_url="<https://api.ambient.xyz/v1>",
    api_key="your-ambient-api-key",
)

stream = client.chat.completions.create(
    model="zai-org/GLM-4.6",
    messages=[
        {"role": "user", "content": "Write a short poem about coding."}
    ],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta
    if delta.reasoning_content:
        print(delta.reasoning_content, end="", flush=True)
    if delta.content:
        print(delta.content, end="", flush=True)

JavaScript / TypeScript

Installation

npm install openai

Usage

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "<https://api.ambient.xyz/v1>",
  apiKey: "your-ambient-api-key",
});

const response = await client.chat.completions.create({
  model: "zai-org/GLM-4.6",
  messages: [
    { role: "user", content: "Hello, how are you?" }
  ],
});

const message = response.choices[0].message;
if (message.reasoning_content) {
  console.log("Reasoning:", message.reasoning_content);
}
console.log("Response:", message.content);

Streaming

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "<https://api.ambient.xyz/v1>",
  apiKey: "your-ambient-api-key",
});

const stream = await client.chat.completions.create({
  model: "zai-org/GLM-4.6",
  messages: [
    { role: "user", content: "Write a short poem about coding." }
  ],
  stream: true,
});

for await (const chunk of stream) {
  const delta = chunk.choices[0]?.delta;
  if (delta?.reasoning_content) {
    process.stdout.write(delta.reasoning_content);
  }
  if (delta?.content) {
    process.stdout.write(delta.content);
  }
}

Environment Variables

You can also configure the SDK using environment variables:

export OPENAI_BASE_URL=https://api.ambient.xyz/v1
export OPENAI_API_KEY=your-ambient-api-key

Then simply instantiate the client without arguments:

# Python
client = OpenAI()
// JavaScript
const client = new OpenAI();

Resources