|
|
|
|
|
from datetime import datetime
|
|
from typing import Any, List, Optional, Union
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class Response(BaseModel):
|
|
code: Optional[int] = 0
|
|
msg: Optional[str] = "success"
|
|
data: Optional[Any] = None
|
|
|
|
|
|
class CustomModeGenerateParam(BaseModel):
|
|
"""Generate with Custom Mode"""
|
|
|
|
prompt: str = Field(..., description="lyrics")
|
|
mv: str = Field(
|
|
...,
|
|
description="model version, default: chirp-v3-0",
|
|
examples=["chirp-v3-0"],
|
|
)
|
|
title: str = Field(..., description="song title")
|
|
tags: str = Field(..., description="style of music")
|
|
continue_at: Optional[int] = Field(
|
|
default=None,
|
|
description="continue a new clip from a previous song, format number",
|
|
examples=[120],
|
|
)
|
|
continue_clip_id: Optional[str] = None
|
|
|
|
generation_type: str = "TEXT"
|
|
negative_tags:list = []
|
|
infill_start_s:Optional[int] = None
|
|
infill_end_s:Optional[int] = None
|
|
task:Optional[str] = ""
|
|
|
|
|
|
class DescriptionModeGenerateParam(BaseModel):
|
|
"""Generate with Song Description"""
|
|
|
|
gpt_description_prompt:str = Field( max_length=200)
|
|
make_instrumental: bool = False
|
|
mv: str = Field(
|
|
default='chirp-v3-0',
|
|
description="model version, default: chirp-v3-0",
|
|
examples=["chirp-v3-0"],
|
|
)
|
|
|
|
prompt: str = Field(
|
|
default="",
|
|
description="Placeholder, keep it as an empty string, do not modify it",
|
|
)
|
|
|
|
generation_type: str = "TEXT"
|
|
user_uploaded_images_b64:List[str] = []
|
|
|