SDK Design Principles

  • Thin transport layers — SDK clients wrap HTTP calls, don't duplicate business logic
  • Canonical server contract — All SDKs target the same API surface defined by Beep.AI.Server
  • Language-idiomatic APIs — Each SDK follows its language's conventions (async/await, promises, channels)
  • Base URL configuration — Accept server root URL; SDK appends /v1/* automatically
  • OpenAI compatibility — Standard calls go to /v1/*; platform-specific calls to /ai-middleware/api/*

Language Targets (15 supported)

Python

Primary SDK. Full async support with httpx. OpenAI-compatible client interface.

JavaScript / TypeScript

Browser and Node.js. fetch-based with full TypeScript declarations.

.NET

C# with System.Net.Http. Async/await, cancellation tokens, streaming.

Go

Idiomatic Go with context support, channels for streaming.

Java

Java 17+ with OkHttp. CompletableFuture for async operations.

Kotlin

Coroutines-based SDK with Flow for streaming responses.

Swift

Swift 5.9+ with async/await. URLSession-based networking.

Dart

Dart 3+ for Flutter and CLI. Stream-based SSE support.

Rust

reqwest-based with tokio. Strongly-typed with serde.

Ruby

Ruby 3.0+ with Faraday. Ractor-friendly design.

PHP

PHP 8.1+ with Guzzle. PSR-18 compliant HTTP client.

Elixir

Erlang/OTP with Finch HTTP client. Process-based concurrency.

C / C++

libcurl-based with CMake build. C headers and C++ wrappers.

Unity

Unity C# 2021.3+. UnityWebRequest-based for all platforms.

Common API Surface

Every SDK exposes these standard capabilities:

DomainClient Methods
Chatchat.completions.create(), chat.completions.create_stream()
Embeddingsembeddings.create()
Modelsmodels.list(), models.retrieve()
RAGrag.query(), rag.collections.list(), rag.collections.create()
Agentsagents.execute(), agents.plan()
Audioaudio.transcriptions.create(), audio.speech.create()
Imagesimages.generate()
Healthhealth.check()