# Build with a Flask starter template

**Author:** Ben Sabic

---

Flask is a lightweight Web Server Gateway Interface (WSGI) web framework for Python, and it deploys to Vercel with zero configuration. On Vercel, your Flask app becomes a [Vercel Function](https://vercel.com/docs/functions) running on [Fluid compute](https://vercel.com/fluid), with response streaming and preview deployments available with minimal configuration.

Vercel maintains a [Flask template directory](https://vercel.com/templates/flask) with starters from both Vercel and the community, so you can begin from a working project instead of a blank repo.

## Which Flask template should you use?

These templates range from a minimal API to AI and full-stack apps:

| Template                                                                                 | What it gives you                                                                                            |
| ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [Flask Hello World](https://vercel.com/templates/python/flask-hello-world)               | A minimal Flask 3 API that deploys with zero configuration. Start here if you're new to Flask on Vercel.     |
| [AI SDK with Flask](https://vercel.com/templates/python/ai-sdk-with-flask)               | A Flask backend wired up with [AI SDK](https://ai-sdk.dev) for building AI features and streaming responses. |
| [Flask Alt Text Generator](https://vercel.com/templates/python/flask-alt-text-generator) | A Flask API that generates a text description for any image.                                                 |
| [Next.js Flask Starter](https://vercel.com/templates/next.js/nextjs-flask-starter)       | A Flask API paired with a [Next.js](https://nextjs.org/) frontend in a single project.                       |

If you're not sure where to begin, deploy the Flask Hello World starter and add routes, request hooks, or a frontend as your project grows.

## Deploy a Flask template

Every Flask template deploys to Vercel the same way. Open the template you want, select Deploy, and Vercel clones the repository into your Git provider, creates a project, and ships it to a live URL.

1. **Open the template**: Choose a template from the table above, then select Deploy.
   
2. **Connect your Git provider**: Vercel creates a new repository for the template in your GitHub, GitLab, or Bitbucket account.
   
3. **Deploy the project**: Vercel builds and deploys the template, then returns a production URL. Each later push to the repository triggers a new deployment.
   

### Run the template locally

After deploying, clone your new repository, create a virtual environment, install dependencies, and start the development server with [Vercel CLI](https://vercel.com/docs/cli):

`git clone your_repository_url_here cd your_project_name_here python -m venv .venv source .venv/bin/activate pip install -r requirements.txt vercel dev`

Vercel CLI serves your app at `http://localhost:3000` and runs it the same way it does in production. Edit your route handlers to make it your own.

### Start from the command line instead

To scaffold the Flask example with Vercel CLI, run:

`vercel init flask`

This clones the Flask boilerplate into a `flask` directory, so you can develop locally first and deploy with `vercel` when you're ready.

## Resources and next steps

- Follow the end-to-end [How to ship a Flask app on Vercel](https://vercel.com/kb/guide/ship-a-flask-app-on-vercel) guide to deploy and configure your app
  
- Read the full [Deploy a Flask app on Vercel documentation](https://vercel.com/docs/frameworks/backend/flask)
  
- Learn how [Vercel Functions](https://vercel.com/docs/functions) run your server code
  
- Understand pricing and scaling with [Fluid compute](https://vercel.com/docs/fluid-compute)
  
- Run code before requests with [Routing Middleware](https://vercel.com/docs/routing-middleware)
  
- Serve static assets from the [CDN](https://vercel.com/docs/cdn)

---

[View full KB sitemap](/kb/sitemap.md)
