67 lines
2.0 KiB
Python
67 lines
2.0 KiB
Python
from decimal import Decimal
|
|
|
|
from rest_framework import serializers
|
|
|
|
from apps.billing.models import RechargeOrder
|
|
|
|
|
|
class GenerateTitleRequestSerializer(serializers.Serializer):
|
|
prompt = serializers.CharField(trim_whitespace=True, allow_blank=False)
|
|
model = serializers.CharField(
|
|
required=False,
|
|
allow_blank=True,
|
|
trim_whitespace=True,
|
|
max_length=64,
|
|
)
|
|
image_url = serializers.URLField(required=False, allow_blank=True)
|
|
image_base64 = serializers.CharField(required=False, allow_blank=True)
|
|
resolution = serializers.CharField(
|
|
required=False,
|
|
allow_blank=True,
|
|
trim_whitespace=True,
|
|
default="1K",
|
|
)
|
|
parameters = serializers.DictField(required=False, default=dict)
|
|
|
|
|
|
class GenerateImageRequestSerializer(serializers.Serializer):
|
|
prompt = serializers.CharField(trim_whitespace=True, allow_blank=False)
|
|
model = serializers.CharField(
|
|
required=False,
|
|
allow_blank=True,
|
|
trim_whitespace=True,
|
|
max_length=64,
|
|
)
|
|
image_url = serializers.URLField(required=False, allow_blank=True)
|
|
image_base64 = serializers.CharField(required=False, allow_blank=True)
|
|
resolution = serializers.CharField(
|
|
required=False,
|
|
allow_blank=True,
|
|
trim_whitespace=True,
|
|
default="1K",
|
|
)
|
|
aspect_ratio = serializers.CharField(
|
|
required=False,
|
|
allow_blank=True,
|
|
trim_whitespace=True,
|
|
default="1:1",
|
|
)
|
|
parameters = serializers.DictField(required=False, default=dict)
|
|
|
|
|
|
class RechargeCreateRequestSerializer(serializers.Serializer):
|
|
amount = serializers.DecimalField(
|
|
max_digits=12,
|
|
decimal_places=2,
|
|
min_value=Decimal("0.01"),
|
|
)
|
|
pay_method = serializers.ChoiceField(choices=RechargeOrder.PayMethod.values)
|
|
|
|
|
|
class RechargeStatusRequestSerializer(serializers.Serializer):
|
|
order_no = serializers.CharField(
|
|
trim_whitespace=True,
|
|
allow_blank=False,
|
|
max_length=64,
|
|
)
|