RealtimeSession.fromJson constructor

RealtimeSession.fromJson(
  1. Map<String, dynamic> json
)

Creates a RealtimeSession from JSON.

Implementation

factory RealtimeSession.fromJson(Map<String, dynamic> json) {
  return RealtimeSession(
    id: json['id'] as String,
    object: json['object'] as String,
    model: json['model'] as String,
    modalities: (json['modalities'] as List<dynamic>?)?.cast<String>(),
    instructions: json['instructions'] as String?,
    voice: json['voice'] != null
        ? RealtimeVoice.fromJson(json['voice'] as String)
        : null,
    inputAudioFormat: json['input_audio_format'] != null
        ? RealtimeAudioFormat.fromJson(json['input_audio_format'] as String)
        : null,
    outputAudioFormat: json['output_audio_format'] != null
        ? RealtimeAudioFormat.fromJson(json['output_audio_format'] as String)
        : null,
    inputAudioTranscription: json['input_audio_transcription'] != null
        ? InputAudioTranscription.fromJson(
            json['input_audio_transcription'] as Map<String, dynamic>,
          )
        : null,
    turnDetection: json['turn_detection'] != null
        ? TurnDetection.fromJson(
            json['turn_detection'] as Map<String, dynamic>,
          )
        : null,
    tools: (json['tools'] as List<dynamic>?)
        ?.map((e) => RealtimeTool.fromJson(e as Map<String, dynamic>))
        .toList(),
    toolChoice: json['tool_choice'] != null
        ? RealtimeToolChoice.fromJson(json['tool_choice'] as Object)
        : null,
    temperature: (json['temperature'] as num?)?.toDouble(),
    maxResponseOutputTokens: json['max_response_output_tokens'] != null
        ? InfOrInt.fromJson(json['max_response_output_tokens'] as Object)
        : null,
  );
}