remove.bg / transparent /serializers.py
srayuth
Deploy Django background removal API
8836a6d
raw
history blame
1.72 kB
"""
Serializers for Transparent Background Removal API
"""
from rest_framework import serializers
class StyleResultSerializer(serializers.Serializer):
"""Single style result"""
styleCode = serializers.CharField(help_text="Style code: A, B, C, or D")
styleName = serializers.CharField(help_text="Human readable style name")
base64 = serializers.CharField(help_text="Base64 encoded PNG image")
class GenerateStylesResponseSerializer(serializers.Serializer):
"""Response for generate-styles endpoint"""
success = serializers.BooleanField()
styles = StyleResultSerializer(many=True, required=False)
error = serializers.CharField(required=False, allow_null=True)
class AnalysisDataSerializer(serializers.Serializer):
"""Image analysis data"""
edge = serializers.FloatField(help_text="Edge strength (0-100)")
saturation = serializers.FloatField(help_text="Center saturation (0-100)")
whitePct = serializers.FloatField(help_text="White percentage in center (0-100)")
contrast = serializers.FloatField(help_text="Contrast between center and corners")
hasAnimal = serializers.BooleanField(help_text="Whether animal was detected")
yoloLabels = serializers.ListField(
child=serializers.CharField(),
help_text="Detected object labels from YOLO"
)
class RecommendStyleResponseSerializer(serializers.Serializer):
"""Response for recommend-style endpoint"""
success = serializers.BooleanField()
recommendedStyle = serializers.CharField(
required=False,
help_text="Recommended style code: A or B"
)
analysis = AnalysisDataSerializer(required=False)
error = serializers.CharField(required=False, allow_null=True)