Files
cmhub/apps/api/serializers.py
T

67 lines
2.0 KiB
Python
Raw Normal View History

2026-07-03 09:34:07 +08:00
from decimal import Decimal
2026-07-02 22:41:37 +08:00
from rest_framework import serializers
2026-07-03 09:34:07 +08:00
from apps.billing.models import RechargeOrder
2026-07-02 22:41:37 +08:00
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)
2026-07-03 09:34:07 +08:00
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,
)