TTSRequest.fromJson constructor

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

Implementation

factory TTSRequest.fromJson(Map<String, dynamic> json) => TTSRequest(
      text: json['text'] as String,
      voice: json['voice'] as String?,
      model: json['model'] as String?,
      format: json['format'] as String?,
      quality: json['quality'] as String?,
      sampleRate: json['sample_rate'] as int?,
      stability: json['stability'] as double?,
      similarityBoost: json['similarity_boost'] as double?,
      style: json['style'] as double?,
      useSpeakerBoost: json['use_speaker_boost'] as bool?,
      speed: json['speed'] as double?,
      processingMode: AudioProcessingMode.values.firstWhere(
        (e) => e.name == json['processing_mode'],
        orElse: () => AudioProcessingMode.batch,
      ),
      includeTimestamps: json['include_timestamps'] as bool? ?? false,
      timestampGranularity: TimestampGranularity.values.firstWhere(
        (e) => e.name == json['timestamp_granularity'],
        orElse: () => TimestampGranularity.word,
      ),
      textNormalization: TextNormalization.values.firstWhere(
        (e) => e.name == json['text_normalization'],
        orElse: () => TextNormalization.auto,
      ),
      languageCode: json['language_code'] as String?,
      instructions: json['instructions'] as String?,
      previousText: json['previous_text'] as String?,
      nextText: json['next_text'] as String?,
      previousRequestIds: json['previous_request_ids'] != null
          ? List<String>.from(json['previous_request_ids'] as List)
          : null,
      nextRequestIds: json['next_request_ids'] != null
          ? List<String>.from(json['next_request_ids'] as List)
          : null,
      seed: json['seed'] as int?,
      enableLogging: json['enable_logging'] as bool? ?? true,
      optimizeStreamingLatency: json['optimize_streaming_latency'] as int?,
    );