| """ | |
| 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") | |