I want the below code of python in html css js. Also tell me how do i run that code in my mobile. So here's the code : from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
from kivy.uix.spinner import Spinner
from kivy.core.audio import SoundLoader
import httpx
from typing import Literal
from pydantic import BaseModel, conint

# API key (replace with your actual key)
API_KEY = "YOUR_API_KEY_HERE"

# API endpoints
BASE_URL = "https://api.fish.audio"
TTS_ENDPOINT = f"{BASE_URL}/v1/tts"

# Headers for API requests
headers = {
    "authorization": f"Bearer {API_KEY}",
    "content-type": "application/json",
}

class ServeTTSRequest(BaseModel):
    text: str
    chunk_length: conint(ge=100, le=300) = 200
    format: Literal["wav", "pcm", "mp3"] = "mp3"
    mp3_bitrate: Literal[64, 128, 192] = 128
    reference_id: str | None = None
    normalize: bool = True
    latency: Literal["normal", "balanced"] = "normal"

class TTSApp(App):
    def build(self):
        layout = BoxLayout(orientation='vertical', padding=10, spacing=10)

        self.text_input = TextInput(text='Enter text here', multiline=False)
        layout.add_widget(self.text_input)

        self.model_spinner = Spinner(text='Select voice model', values=['xxlabs female', 'POTUS 45 - Trump'])
        layout.add_widget(self.model_spinner)

        convert_button = Button(text='Convert to Speech')
        convert_button.bind(on_press=self.convert_to_speech)
        layout.add_widget(convert_button)

        self.play_button = Button(text='Play', disabled=True)
        self.play_button.bind(on_press=self.play_audio)
        layout.add_widget(self.play_button)

        self.status_label = Label(text='')
        layout.add_widget(self.status_label)

        self.models_dict = {
            'xxlabs female': '03397b4c4be74759b72533b663fbd001',
            'POTUS 45 - Trump': 'e58b0d7efca34eb38d5c4985e378abcb'
        }

        return layout

    def convert_to_speech(self, instance):
        text = self.text_input.text
        model = self.model_spinner.text

        if not text or model == 'Select voice model':
            self.status_label.text = "Please enter text and select a voice model."
            return

        try:
            model_id = self.models_dict.get(model)

            if not model_id:
                self.status_label.text = "Selected model not found or not available."
                return

            request = ServeTTSRequest(
                text=text,
                reference_id=model_id
            )

            with httpx.Client() as client:
                response = client.post(
                    TTS_ENDPOINT,
                    json=request.dict(),
                    headers=headers,
                    timeout=None
                )
                response.raise_for_status()

                # Save the audio content to a temporary file
                with open("temp_audio.mp3", "wb") as f:
                    f.write(response.content)

            self.status_label.text = "Audio ready. Click Play to listen."
            self.play_button.disabled = False
        except httpx.RequestError as e:
            self.status_label.text = f"Error converting text to speech: {e}"

    def play_audio(self, instance):
        sound = SoundLoader.load('temp_audio.mp3')
        if sound:
            sound.play()
            self.status_label.text = "Playing audio..."
        else:
            self.status_label.text = "Error loading audio."

if __name__ == '__main__':
    TTSApp().run()