suno / schemas.py
deeme's picture
Upload schemas.py
718cc5a verified
# -*- coding:utf-8 -*-
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 # True纯音乐,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] = []