Extracted remaining 4 endpoint groups: - create.py: 7 endpoints (create, 3xtemplates, providers, estimate-cost, platform-specs) - transform.py: 4 endpoints (image-to-video, talking-avatar, estimate-cost, video serving) - compress.py: 5 endpoints (compress, batch, estimate, formats, presets) - convert.py: 4 endpoints (convert-format, batch, supported, recommendations) Legacy router is now empty (only imports + empty router definition). All 33 routes preserved. Package is fully modular.
49 lines
2.1 KiB
Python
49 lines
2.1 KiB
Python
"""API endpoints for Image Studio operations."""
|
|
|
|
import base64
|
|
from pathlib import Path
|
|
from typing import Dict, Any, Optional
|
|
from fastapi import APIRouter, Depends, HTTPException, status, Query
|
|
from fastapi.responses import FileResponse
|
|
|
|
from .image_studio.models import (
|
|
CreateImageRequest, CostEstimationRequest,
|
|
EditImageRequest, EditImageResponse, EditOperationsResponse,
|
|
EditModelsResponse, EditModelRecommendationRequest, EditModelRecommendationResponse,
|
|
UpscaleImageRequest, UpscaleImageResponse,
|
|
FaceSwapRequest, FaceSwapResponse, FaceSwapModelsResponse,
|
|
FaceSwapModelRecommendationRequest, FaceSwapModelRecommendationResponse,
|
|
ControlImageRequest, ControlImageResponse, ControlOperationsResponse,
|
|
SocialOptimizeRequest, SocialOptimizeResponse, PlatformFormatsResponse,
|
|
TransformImageToVideoRequestModel, TalkingAvatarRequestModel,
|
|
TransformVideoResponse, TransformCostEstimateRequest, TransformCostEstimateResponse,
|
|
CompressImageRequest, CompressImageResponse, CompressBatchRequest, CompressBatchResponse,
|
|
CompressionEstimateRequest, CompressionEstimateResponse,
|
|
CompressionFormatsResponse, CompressionPresetsResponse,
|
|
ConvertFormatRequest, ConvertFormatResponse, ConvertFormatBatchRequest, ConvertFormatBatchResponse,
|
|
SupportedFormatsResponse, FormatRecommendationsResponse,
|
|
)
|
|
from .image_studio.deps import get_studio_manager, _require_user_id
|
|
from services.image_studio import (
|
|
ImageStudioManager,
|
|
CreateStudioRequest,
|
|
EditStudioRequest,
|
|
ControlStudioRequest,
|
|
SocialOptimizerRequest,
|
|
TransformImageToVideoRequest,
|
|
TalkingAvatarRequest,
|
|
)
|
|
from services.image_studio.face_swap_service import FaceSwapStudioRequest
|
|
from services.image_studio.upscale_service import UpscaleStudioRequest
|
|
from services.image_studio.templates import Platform, TemplateCategory
|
|
from middleware.auth_middleware import get_current_user, get_current_user_with_query_token
|
|
from utils.logger_utils import get_service_logger
|
|
|
|
|
|
logger = get_service_logger("api.image_studio")
|
|
router = APIRouter(prefix="/api/image-studio", tags=["image-studio"])
|
|
|
|
|
|
|
|
|