Electron speaks the OpenAI Chat Completions wire format. To migrate an existing OpenAI integration, change exactly two strings:
base_url → https://api.smallest.ai/waves/v1api_key → your Smallest AI keymodel → "electron"That’s it. Streaming, tool calling, JSON mode, multi-turn — all work identically because Electron implements the same protocol.
system, user, assistant, tool role conventions.[DONE] marker, same delta chunks. With stream_options.include_usage: true, you get the final usage chunk just like OpenAI.tools array, same tool_calls in response, same multi-turn pattern. (Electron adds a voice-friendly filler in content alongside tool_calls — see Tool Calling.){"error": {"message", "type", "details", "request_id"}}. (Electron uses details: [{code, message, path}] for validation errors where OpenAI uses param; otherwise the envelope shape is the same.)No — Electron is a separate model. There is no migration path for OpenAI fine-tunes today. For most use cases, careful system-prompt engineering on Electron achieves comparable behavior; reach out to support if you want help replicating a specific fine-tune.
Yes. Pass your existing tools array unchanged. Electron returns tool_calls in the same JSON shape as OpenAI. The only behavioral difference: Electron may also populate content with a short filler phrase on tool-call turns — see Tool Calling.
Does response_format: {type: 'json_object'} work?
Yes. JSON mode is supported and follows OpenAI’s semantics — instruct the model to produce JSON in the system or user message, set response_format, and the output will be JSON.
Electron uses per-plan limits documented in Concurrency and Limits. Contact sales for higher limits if your workload needs more than 200 RPM / 20 concurrent.
Electron is competitive with frontier models on most tasks, including in 70 languages with first-class Indic support. If you find a specific prompt that performs worse on Electron, please share it with support — we use real customer prompts to drive ongoing improvements.
Some teams want to keep the option to fall back to OpenAI. Because Electron uses the same SDK, you can wire both clients with a simple factory and select per-request: