# Gradio ## Docs - [Blocks](https://mintlify.wiki/gradio-app/gradio/api/blocks.md) - [ChatInterface](https://mintlify.wiki/gradio-app/gradio/api/chatinterface.md) - [Event Data](https://mintlify.wiki/gradio-app/gradio/api/event-data.md) - [Event Listeners](https://mintlify.wiki/gradio-app/gradio/api/event-listeners.md) - [Events](https://mintlify.wiki/gradio-app/gradio/api/events.md) - [Flagging](https://mintlify.wiki/gradio-app/gradio/api/flagging.md) - [Helpers](https://mintlify.wiki/gradio-app/gradio/api/helpers.md) - [Internationalization (i18n)](https://mintlify.wiki/gradio-app/gradio/api/i18n.md) - [Interface](https://mintlify.wiki/gradio-app/gradio/api/interface.md) - [Progress](https://mintlify.wiki/gradio-app/gradio/api/progress.md) - [TabbedInterface](https://mintlify.wiki/gradio-app/gradio/api/tabbedinterface.md) - [Themes](https://mintlify.wiki/gradio-app/gradio/api/themes.md) - [Building agents with tool usage](https://mintlify.wiki/gradio-app/gradio/chatbots/agents-and-tools.md): Display intermediate thoughts and tool usage in your Gradio chatbot - [Chatbot-specific events](https://mintlify.wiki/gradio-app/gradio/chatbots/chatbot-events.md): Handle retry, undo, like, and other chatbot-specific user interactions - [ChatInterface examples](https://mintlify.wiki/gradio-app/gradio/chatbots/chatinterface-examples.md): Examples of using ChatInterface with popular LLM libraries and API providers - [Creating chatbots with ChatInterface](https://mintlify.wiki/gradio-app/gradio/chatbots/creating-chatbot.md): Build a chat application with Gradio's ChatInterface in a few lines of code - [Custom chatbots with Blocks](https://mintlify.wiki/gradio-app/gradio/chatbots/custom-chatbot.md): Build custom chatbot UIs from scratch using Gradio's low-level Blocks API - [Discord, Slack, and widget integrations](https://mintlify.wiki/gradio-app/gradio/chatbots/integrations.md): Deploy your Gradio chatbot as a Discord bot, Slack bot, or website widget - [Gradio Lite](https://mintlify.wiki/gradio-app/gradio/clients/gradio-lite.md): Run Gradio entirely in the browser with WebAssembly - [JavaScript client](https://mintlify.wiki/gradio-app/gradio/clients/javascript-client.md): Use any Gradio app as an API with the @gradio/client JavaScript library - [Python client](https://mintlify.wiki/gradio-app/gradio/clients/python-client.md): Use any Gradio app as an API with the gradio_client Python library - [Accordion](https://mintlify.wiki/gradio-app/gradio/components/accordion.md): A layout component that creates collapsible sections to organize content. - [AnnotatedImage](https://mintlify.wiki/gradio-app/gradio/components/annotatedimage.md): Display images with colored annotations - [Audio](https://mintlify.wiki/gradio-app/gradio/components/audio.md): Create audio upload and playback components in Gradio - [BarPlot](https://mintlify.wiki/gradio-app/gradio/components/barplot.md): Create native bar chart visualizations - [Button](https://mintlify.wiki/gradio-app/gradio/components/button.md): Create clickable buttons in Gradio - [Chatbot](https://mintlify.wiki/gradio-app/gradio/components/chatbot.md): Create conversational chat interfaces in Gradio - [Checkbox](https://mintlify.wiki/gradio-app/gradio/components/checkbox.md): Create checkbox input components in Gradio - [CheckboxGroup](https://mintlify.wiki/gradio-app/gradio/components/checkboxgroup.md): Create checkbox group components in Gradio - [ClearButton](https://mintlify.wiki/gradio-app/gradio/components/clearbutton.md): Clear component values with a button click - [Code](https://mintlify.wiki/gradio-app/gradio/components/code.md): Display and edit code with syntax highlighting - [ColorPicker](https://mintlify.wiki/gradio-app/gradio/components/colorpicker.md): Create color selection components in Gradio - [Column](https://mintlify.wiki/gradio-app/gradio/components/column.md): A layout component that arranges Gradio components vertically in a column. - [Dataframe](https://mintlify.wiki/gradio-app/gradio/components/dataframe.md): Create spreadsheet-like data components in Gradio - [Dataset](https://mintlify.wiki/gradio-app/gradio/components/dataset.md): Display example data in a gallery or table - [DateTime](https://mintlify.wiki/gradio-app/gradio/components/datetime.md): Create date and time selection components in Gradio - [DownloadButton](https://mintlify.wiki/gradio-app/gradio/components/downloadbutton.md): Allow users to download files - [Dropdown](https://mintlify.wiki/gradio-app/gradio/components/dropdown.md): Create dropdown selection components in Gradio - [DuplicateButton](https://mintlify.wiki/gradio-app/gradio/components/duplicatebutton.md): Duplicate a Hugging Face Space - [File](https://mintlify.wiki/gradio-app/gradio/components/file.md): Create file upload and display components in Gradio - [Gallery](https://mintlify.wiki/gradio-app/gradio/components/gallery.md): Display images and videos in a grid layout - [Group](https://mintlify.wiki/gradio-app/gradio/components/group.md): A layout component that groups components together visually without adding extra padding. - [HighlightedText](https://mintlify.wiki/gradio-app/gradio/components/highlight.md): Display text with highlighted spans - [HTML](https://mintlify.wiki/gradio-app/gradio/components/html.md): Display custom HTML content - [Image](https://mintlify.wiki/gradio-app/gradio/components/image.md): Create image upload and display components in Gradio - [JSON](https://mintlify.wiki/gradio-app/gradio/components/json.md): Display JSON data in a prettified format - [Label](https://mintlify.wiki/gradio-app/gradio/components/label.md): Display classification labels with confidence scores - [LinePlot](https://mintlify.wiki/gradio-app/gradio/components/lineplot.md): Create native line chart visualizations - [Markdown](https://mintlify.wiki/gradio-app/gradio/components/markdown.md): Render markdown content with LaTeX support - [Model3D](https://mintlify.wiki/gradio-app/gradio/components/model3d.md): Display and interact with 3D models - [Number](https://mintlify.wiki/gradio-app/gradio/components/number.md): Create numeric input components in Gradio - [Components overview](https://mintlify.wiki/gradio-app/gradio/components/overview.md): Learn about all available Gradio components for building interactive UIs - [Plot](https://mintlify.wiki/gradio-app/gradio/components/plot.md): Display interactive plots from various plotting libraries - [Radio](https://mintlify.wiki/gradio-app/gradio/components/radio.md): Create radio button selection components in Gradio - [Row](https://mintlify.wiki/gradio-app/gradio/components/row.md): A layout component that arranges Gradio components horizontally in a row. - [ScatterPlot](https://mintlify.wiki/gradio-app/gradio/components/scatterplot.md): Create native scatter plot visualizations - [Slider](https://mintlify.wiki/gradio-app/gradio/components/slider.md): Create slider input components in Gradio - [State](https://mintlify.wiki/gradio-app/gradio/components/state.md): Manage session state across function calls - [Tabs](https://mintlify.wiki/gradio-app/gradio/components/tabs.md): A layout component that creates tabbed interfaces for organizing content into separate views. - [Textbox](https://mintlify.wiki/gradio-app/gradio/components/textbox.md): Create text input and output components in Gradio - [UploadButton](https://mintlify.wiki/gradio-app/gradio/components/uploadbutton.md): Create dedicated file upload buttons - [Video](https://mintlify.wiki/gradio-app/gradio/components/video.md): Create video upload and playback components in Gradio - [Blocks](https://mintlify.wiki/gradio-app/gradio/concepts/blocks.md): Build custom web applications with Gradio's flexible Blocks API - [ChatInterface](https://mintlify.wiki/gradio-app/gradio/concepts/chat-interface.md): Build chatbot UIs quickly with Gradio's specialized ChatInterface class - [Components](https://mintlify.wiki/gradio-app/gradio/concepts/components.md): Understanding Gradio's building blocks for inputs and outputs - [Events](https://mintlify.wiki/gradio-app/gradio/concepts/events.md): Learn how to use Gradio's event system to create interactive applications - [Interface](https://mintlify.wiki/gradio-app/gradio/concepts/interface.md): Learn how to create simple UIs with Gradio's high-level Interface class - [State management](https://mintlify.wiki/gradio-app/gradio/concepts/state.md): Learn how to maintain persistent data across interactions in Gradio - [Backend development](https://mintlify.wiki/gradio-app/gradio/custom-components/backend.md): Learn how to implement your custom component's Python backend - [Component configuration](https://mintlify.wiki/gradio-app/gradio/custom-components/configuration.md): Learn how to configure your custom component package - [Custom component examples](https://mintlify.wiki/gradio-app/gradio/custom-components/examples.md): Learn from real-world examples of custom Gradio components - [Frontend development](https://mintlify.wiki/gradio-app/gradio/custom-components/frontend.md): Learn how to build your custom component's user interface with Svelte - [Key component concepts](https://mintlify.wiki/gradio-app/gradio/custom-components/key-concepts.md): Important concepts to understand when developing custom Gradio components - [Custom components in 5 minutes](https://mintlify.wiki/gradio-app/gradio/custom-components/quickstart.md): Get started building custom Gradio components quickly - [Docker deployment](https://mintlify.wiki/gradio-app/gradio/deployment/docker.md): Deploy Gradio apps using Docker containers for consistency and portability - [Hugging Face Spaces](https://mintlify.wiki/gradio-app/gradio/deployment/huggingface-spaces.md): Deploy Gradio apps to Hugging Face Spaces for free permanent hosting - [Sharing apps](https://mintlify.wiki/gradio-app/gradio/deployment/sharing.md): Share your Gradio apps with temporary links, authentication, and embedding options - [OAuth and authentication](https://mintlify.wiki/gradio-app/gradio/features/authentication.md): Add authentication to your Gradio app with password protection or OAuth login via Hugging Face - [Batch processing](https://mintlify.wiki/gradio-app/gradio/features/batch-functions.md): Process multiple requests simultaneously with batch functions to improve performance - [Hot reload and vibe mode](https://mintlify.wiki/gradio-app/gradio/features/hot-reload.md): Develop Gradio apps faster with hot reload mode and AI-powered vibe mode - [Progress indicators](https://mintlify.wiki/gradio-app/gradio/features/progress-bars.md): Display custom progress bars to keep users informed during long-running operations - [Queue system](https://mintlify.wiki/gradio-app/gradio/features/queuing.md): Configure Gradio's built-in queuing system to handle concurrent users and manage request processing - [Sharing apps via public URLs](https://mintlify.wiki/gradio-app/gradio/features/sharing.md): Share your Gradio app publicly with temporary share links or permanent hosting on Hugging Face Spaces - [Streaming inputs and outputs](https://mintlify.wiki/gradio-app/gradio/features/streaming.md): Stream data in real-time with Gradio's streaming capabilities for inputs and outputs - [Blocks and event listeners](https://mintlify.wiki/gradio-app/gradio/guides/blocks-and-events.md): Learn how to build custom Gradio applications using the Blocks class and attach event listeners to create interactive data flows. - [Controlling layout](https://mintlify.wiki/gradio-app/gradio/guides/controlling-layout.md): Learn how to arrange Gradio components using rows, columns, tabs, and other layout elements to create custom interfaces. - [Custom CSS and JavaScript](https://mintlify.wiki/gradio-app/gradio/guides/custom-css-js.md): Learn how to customize your Gradio app with custom CSS styling and JavaScript functionality for advanced UX and analytics. - [Custom HTML components](https://mintlify.wiki/gradio-app/gradio/guides/custom-html.md): Learn how to create custom components using gr.HTML with templates, styling, JavaScript, and event handling. - [Building dynamic apps with the render decorator](https://mintlify.wiki/gradio-app/gradio/guides/dynamic-apps.md): Learn how to create dynamic Gradio applications where components and event listeners can change based on user input. - [Working with examples](https://mintlify.wiki/gradio-app/gradio/guides/examples.md): Learn how to provide example inputs for your Gradio demos to help users understand your models - [Flagging](https://mintlify.wiki/gradio-app/gradio/guides/flagging.md): Learn how to let users flag interesting or unexpected outputs in your Gradio interfaces - [The Interface class](https://mintlify.wiki/gradio-app/gradio/guides/interface-class.md): Learn how to use Gradio's Interface class to create web-based GUIs for your Python functions - [The 4 kinds of Gradio interfaces](https://mintlify.wiki/gradio-app/gradio/guides/interface-types.md): Learn about the different types of interfaces you can build with Gradio's Interface class - [Reactive interfaces](https://mintlify.wiki/gradio-app/gradio/guides/reactive-interfaces.md): Learn how to create live and streaming interfaces that update automatically in Gradio - [Managing state in Blocks](https://mintlify.wiki/gradio-app/gradio/guides/state-in-blocks.md): Learn how to manage global state, session state, and browser state in your Gradio applications. - [Installation](https://mintlify.wiki/gradio-app/gradio/installation.md): Step-by-step instructions to install Gradio on Windows, macOS, and Linux - [Introduction](https://mintlify.wiki/gradio-app/gradio/introduction.md): Build machine learning web apps in Python — no JavaScript, CSS, or web hosting experience needed - [Quickstart](https://mintlify.wiki/gradio-app/gradio/quickstart.md): Build your first Gradio app in minutes with this step-by-step guide