"""
Generated by Sideko (sideko.dev)
"""

import typing
import typing_extensions
import pydantic


class PostV1VideoToVideoBodyStyle(typing_extensions.TypedDict):
    """ """

    art_style: typing_extensions.Required[
        typing_extensions.Literal[
            "3D Render",
            "Airbender",
            "Android",
            "Anime Warrior",
            "Armored Knight",
            "Assassin's Creed",
            "Avatar",
            "Black Spiderman",
            "Boba Fett",
            "Celestial Skin",
            "Clay",
            "Comic",
            "Cyberpunk",
            "Cypher",
            "Dark Fantasy",
            "Dragonball Z",
            "Future Bot",
            "Futuristic Fantasy",
            "GTA",
            "Ghost",
            "Gundam",
            "Hologram",
            "Illustration",
            "Impressionism",
            "Ink",
            "Ink Poster",
            "Jinx",
            "Knight",
            "Lego",
            "Link",
            "Marble",
            "Master Chief",
            "Mech",
            "Minecraft",
            "Naruto",
            "Neon Dream",
            "Oil Painting",
            "On Fire",
            "Origami",
            "Pixel",
            "Power Armor",
            "Power Ranger",
            "Retro Anime",
            "Retro Sci-Fi",
            "Samurai",
            "Samurai Bot",
            "Solid Snake",
            "Spartan",
            "Starfield",
            "Street Fighter",
            "Studio Ghibli",
            "Sub-Zero",
            "The Void",
            "Underwater",
            "Van Gogh",
            "Viking",
            "Watercolor",
            "Wu Kong",
            "Zelda",
        ]
    ]
    model: typing_extensions.Required[
        typing_extensions.Literal[
            "Absolute Reality", "Dreamshaper", "Flat 2D Anime", "default"
        ]
    ]
    prompt: typing.Optional[str]
    prompt_type: typing_extensions.Required[
        typing_extensions.Literal["append_default", "custom", "default"]
    ]
    version: typing_extensions.Required[
        typing_extensions.Literal["default", "v1", "v2"]
    ]


class _SerializerPostV1VideoToVideoBodyStyle(pydantic.BaseModel):
    """
    Serializer for PostV1VideoToVideoBodyStyle handling case conversions
    and file omitions as dictated by the API
    """

    model_config = pydantic.ConfigDict(
        populate_by_name=True,
    )

    art_style: typing_extensions.Literal[
        "3D Render",
        "Airbender",
        "Android",
        "Anime Warrior",
        "Armored Knight",
        "Assassin's Creed",
        "Avatar",
        "Black Spiderman",
        "Boba Fett",
        "Celestial Skin",
        "Clay",
        "Comic",
        "Cyberpunk",
        "Cypher",
        "Dark Fantasy",
        "Dragonball Z",
        "Future Bot",
        "Futuristic Fantasy",
        "GTA",
        "Ghost",
        "Gundam",
        "Hologram",
        "Illustration",
        "Impressionism",
        "Ink",
        "Ink Poster",
        "Jinx",
        "Knight",
        "Lego",
        "Link",
        "Marble",
        "Master Chief",
        "Mech",
        "Minecraft",
        "Naruto",
        "Neon Dream",
        "Oil Painting",
        "On Fire",
        "Origami",
        "Pixel",
        "Power Armor",
        "Power Ranger",
        "Retro Anime",
        "Retro Sci-Fi",
        "Samurai",
        "Samurai Bot",
        "Solid Snake",
        "Spartan",
        "Starfield",
        "Street Fighter",
        "Studio Ghibli",
        "Sub-Zero",
        "The Void",
        "Underwater",
        "Van Gogh",
        "Viking",
        "Watercolor",
        "Wu Kong",
        "Zelda",
    ] = pydantic.Field(alias="art_style")
    model: typing_extensions.Literal[
        "Absolute Reality", "Dreamshaper", "Flat 2D Anime", "default"
    ] = pydantic.Field(alias="model")
    prompt: typing.Optional[str] = pydantic.Field(alias="prompt")
    prompt_type: typing_extensions.Literal["append_default", "custom", "default"] = (
        pydantic.Field(alias="prompt_type")
    )
    version: typing_extensions.Literal["default", "v1", "v2"] = pydantic.Field(
        alias="version"
    )
