Spaces:
Configuration error
Configuration error
File size: 1,547 Bytes
2d610a5 df4965a 2d610a5 4d888b5 2d610a5 df4965a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
from rest_framework import serializers
from .models import TextToSpeech
class TextToSpeechSerializer(serializers.Serializer):
text = serializers.CharField(default="In the quest for a sustainable future, renewable energy emerges as a beacon of hope")
speaker_wav = serializers.FileField()
language = serializers.CharField(default="en")
class TextToSpeechSerializerResponse(serializers.ModelSerializer):
created_by = serializers.SerializerMethodField()
class Meta:
model = TextToSpeech
fields = ['id', 'text', 'speaker_wav', 'output_wav', 'language', 'created_by']
# Ensure that all the fields you want to include are listed here
def get_created_by(self, obj):
return obj.created_by.username if obj.created_by else None
class TextToSpeechSerializerResponseWithURL(serializers.ModelSerializer):
speaker_wav_url = serializers.SerializerMethodField()
output_wav_url = serializers.SerializerMethodField()
created_by = serializers.SerializerMethodField()
class Meta:
model = TextToSpeech
fields = ['id', 'text', 'speaker_wav_url', 'output_wav_url', 'language', 'created_by']
# Add or remove fields as necessary
def get_speaker_wav_url(self, obj):
return self.context['view'].generate_presigned_url(obj.speaker_wav)
def get_output_wav_url(self, obj):
return self.context['view'].generate_presigned_url(obj.output_wav)
def get_created_by(self, obj):
return obj.created_by.username if obj.created_by else None
|