Skip to main content
Complete API documentation for Sanas SDK

Introduction

Complete reference for Sanas SDK APIs:

Core Classes

RemoteSDK

Methods:
MethodParametersReturnsDescription
Initializeparams: InitParamsInitSDKResultInitialize SDK connection
CreateAudioProcessoraudio_params: AudioParams, state_callback=NoneTuple[AudioProcessor, CreateProcessorResult]Create an audio processor
DestroyAudioProcessorprocessor: AudioProcessorDestroyProcessorResultDestroy processor
Shutdown-ShutdownSDKResultShutdown SDK
IsInitialized-boolCheck initialization status
GetActiveProcessorCount-intGet active processor count

InitParams

PropertyTypeRequiredDescription
remoteEndpointstringYesSIP/RTP endpoint URL
accountIdstringYesAccount ID
accountSecretstringYesAccount secret
secureMediabooleanNoEnable encrypted audio
default: false

AudioParams

PropertyTypeRequiredDescription
modelNamestringYesAI model name
sampleRateintYes8000 or 16000 Hz

AudioProcessor

Methods:
MethodParametersReturnsDescription
ProcessSamplesinput_samples: List[float]List[float]Process 20ms audio chunk
GetState-ProcessorStateGet the current processor state
ProcessSamples expects 160 samples (8kHz) or 320 samples (16kHz).

Result Enums

InitSDKResult

EnumDescription
SUCCESSInitialized successfully
ALREADY_INITIALIZEDAlready initialized
INITIALIZATION_FAILEDConnection/credentials failed
INVALID_PARAMETERSInvalid parameters
FAILEDGeneral failure

CreateProcessorResult

EnumDescription
SUCCESSCreated successfully
SDK_NOT_INITIALIZEDSDK Initialization is pending
INVALID_PARAMETERSInvalid audio params
PROCESSOR_LIMIT_REACHEDMax 300 processors
FAILEDGeneral failure

DestroyProcessorResult

EnumDescription
SUCCESSDestroyed successfully
SDK_NOT_INITIALIZEDSDK not initialized
INVALID_PROCESSORInvalid processor
PROCESSOR_ALREADY_DESTROYEDAlready destroyed
FAILEDGeneral failure

ShutdownSDKResult

EnumDescription
SUCCESSShutdown complete
NOT_INITIALIZEDNot initialized
FAILEDGeneral failure

State Enums

ProcessorState

EnumDescription
INITIALIZINGConnecting to Sanas Cloud
READYReady for processing
FAILEDProcessing failed
DISCONNECTEDConnection lost

State Callbacks

The SDK supports state callbacks that notify you when audio processor state changes:
def state_callback(state, reason):
"""
Called when processor state changes
Args:
state (int): ProcessorState enum value
reason (string): Reason for state change
"""
if state == sanas_remote_sdk.ProcessorState.READY:
print("Processor ready for audio processing")
elif state == sanas_remote_sdk.ProcessorState.FAILED:
print(f"Processor failed: {reason}")
elif state == sanas_remote_sdk.ProcessorState.DISCONNECTED:
print("Processor disconnected")

# Use callback when creating processor

processor, result = sdk.CreateAudioProcessor(audio_params, state_callback)