Elektric
Docs

TypeScript SDK

Signatures and examples for the elektric-ai package.

#Install

Shell
npm install elektric-ai

#Client

TypeScript
import { Elektric } from "elektric-ai";
const elektric = new Elektric({ apiKey: process.env.ELEKTRIC_API_KEY! });

#Methods

#chat / chat.stream

ChatRequest: message/messages; optional userId, conversationId, tools, signal.

TypeScript
elektric.chat(options): Promise<ChatResponse>
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureChatRequest: message/messages; optional userId, conversationId, tools, signal.

Returns: ChatResponse / stream events. Errors: standard errors plus resource-specific not-found/expired codes.

#conversations.get/list/delete

conversationId; list requires userId; optional cursor and limits.

TypeScript
elektric.conversations.get(input)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureconversationId; list requires userId; optional cursor and limits.

Returns: Conversation / list / void. Errors: standard errors plus resource-specific not-found/expired codes.

#memory.list/get/update/delete

userId and memoryId; update requires summary.

TypeScript
elektric.memory.update({ userId, memoryId, summary })
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureuserId and memoryId; update requires summary.

Returns: Memory / list / void. Errors: standard errors plus resource-specific not-found/expired codes.

#knowledge.add/list/get/delete

file; optional name/mediaType; get/delete use sourceId.

TypeScript
elektric.knowledge.add(input)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signaturefile; optional name/mediaType; get/delete use sourceId.

Returns: KnowledgeSource / list / void. Errors: standard errors plus resource-specific not-found/expired codes.

#files.upload/get/delete

file; optional mediaType/filename; get/delete use fileId.

TypeScript
elektric.files.upload(input)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signaturefile; optional mediaType/filename; get/delete use fileId.

Returns: ElektricFile / void. Errors: standard errors plus resource-specific not-found/expired codes.

#images.generate/edit

Generate requires prompt; edit requires image and instruction.

TypeScript
elektric.images.generate({ prompt, size?, format?, signal? })
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureGenerate requires prompt; edit requires image and instruction.

Returns: Image response. Errors: standard errors plus resource-specific not-found/expired codes.

#audio.transcribe/speech

TranscriptionRequest or SpeechRequest.

TypeScript
elektric.audio.transcribe(input)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureTranscriptionRequest or SpeechRequest.

Returns: Audio response. Errors: standard errors plus resource-specific not-found/expired codes.

#video.analyze/generate

Analyze requires file/instruction; generate requires prompt.

TypeScript
elektric.video.generate({ prompt, image?, duration?, aspectRatio?, idempotencyKey?, signal? })
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureAnalyze requires file/instruction; generate requires prompt.

Returns: Analysis / Job. Errors: standard errors plus resource-specific not-found/expired codes.

#embeddings.create

input: string|string[].

TypeScript
elektric.embeddings.create({ input, profile?, signal? })
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureinput: string|string[].

Returns: EmbeddingResponse. Errors: standard errors plus resource-specific not-found/expired codes.

#realtime.connect

input/output: text and/or audio arrays.

TypeScript
elektric.realtime.connect({ input, output, signal? })
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureinput/output: text and/or audio arrays.

Returns: RealtimeSession. Errors: standard errors plus resource-specific not-found/expired codes.

#assets.get/download/delete

assetId: string.

TypeScript
elektric.assets.download(assetId)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureassetId: string.

Returns: Asset / bytes / void. Errors: standard errors plus resource-specific not-found/expired codes.

#jobs.get/wait/cancel

jobId and optional wait policy.

TypeScript
elektric.jobs.wait(jobId, { timeoutMs?, signal?, initialPollMs?, maxPollMs? })
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signaturejobId and optional wait policy.

Returns: ElektricJob. Errors: standard errors plus resource-specific not-found/expired codes.

#requests.get/list

Optional status, userId, conversationId, from, to, limit, cursor.

TypeScript
elektric.requests.list(input?)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureOptional status, userId, conversationId, from, to, limit, cursor.

Returns: Request log/list. Errors: standard errors plus resource-specific not-found/expired codes.

#usage.get/timeseries

Optional half-open from/to range.

TypeScript
elektric.usage.timeseries(input?)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureOptional half-open from/to range.

Returns: Usage summary/timeseries. Errors: standard errors plus resource-specific not-found/expired codes.

#billing.get/transactions.list

Optional type, from, to, limit, cursor.

TypeScript
elektric.billing.transactions.list(input?)
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureOptional type, from, to, limit, cursor.

Returns: Billing summary/list. Errors: standard errors plus resource-specific not-found/expired codes.

#limits.get

No parameters.

TypeScript
elektric.limits.get()
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signatureNo parameters.

Returns: LimitsResponse. Errors: standard errors plus resource-specific not-found/expired codes.

#tool

name and JSON schema; optional description.

TypeScript
elektric.tool<T>({ name, description?, inputSchema })
ParameterTypeRequiredDefaultDescription
inputOperation-specificSee signaturename and JSON schema; optional description.

Returns: ElektricTool<T>. Errors: standard errors plus resource-specific not-found/expired codes.

#Defaults and errors

The client reads ELEKTRIC_API_KEY and defaults to https://elektric.ai. Retain Request IDs and branch on typed codes.