File size: 2,431 Bytes
32a0eda
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
"""
Created By: ishwor subedi
Date: 2024-08-13
"""
from PIL import Image
from pydantic import BaseModel, Field
from typing import List, Dict


class LanguageTranslationRequest(BaseModel):
    text: str = Field(..., description="The text to translate")
    translator_backend_code: str = Field(..., description="The code for the translation backend")
    target: str = Field(..., description="The target language")


class ImageGenerationRequest(BaseModel):
    prompt: str = Field(..., description="The prompt for image generation")
    negative_prompt: str = Field(..., description="The negative prompt for image generation")
    style: str = Field(..., description="The style for image generation")
    use_negative_prompt: bool = Field(..., description="Whether to use the negative prompt")
    num_inference_steps: int = Field(..., description="The number of inference steps")
    num_images_per_prompt: int = Field(..., description="The number of images per prompt")
    seed: int = Field(..., description="The seed for image generation")
    width: int = Field(..., description="The width of the image")
    height: int = Field(..., description="The height of the image")
    guidance_scale: float = Field(..., description="The guidance scale for image generation")
    randomize_seed: bool = Field(..., description="Whether to randomize the seed")


class ImageCaptionRequest(BaseModel):
    prompt: str = Field(..., description="The prompt for image captioning")
    temperature: float = Field(..., description="The temperature for image captioning")
    length_penalty: float = Field(..., description="The length penalty for image captioning")
    repetition_penalty: float = Field(..., description="The repetition penalty for image captioning")
    max_length: int = Field(..., description="The maximum length for image captioning")
    min_length: int = Field(..., description="The minimum length for image captioning")
    top_p: float = Field(..., description="The top-p for image captioning")


class TextToSpeechRequest(BaseModel):
    text: str = Field(..., description="The text to convert to speech")
    lang: str = Field(..., description="The language of the text")
    tld: str = Field(..., description="The TLD of the language")


class SpeechToTextRequest(BaseModel):
    audio: str = Field(..., description="The audio to convert to text")
    lang: str = Field(..., description="The language of the audio")