- Packages your code, dependencies, and deployment manifest into a tarball (max 500 MB).
- Uploads the tarball to Runpod.
- Provisions independent Serverless endpoints based on your endpoint configurations.
App development overview
Building a Flash application follows a clear progression from initialization to production deployment:Initialize
Use This gives you a working project structure with GPU and CPU worker examples. Learn more about project initialization.
flash init to create a new project with example workers:Develop
Write your application code by defining Learn more about endpoint functions.
Endpoint functions that execute on Runpod workers:Test locally
Start a local development server to test your application:Your app runs locally and updates automatically. When you call an
@Endpoint function, Flash sends the latest code to Runpod workers. This hybrid architecture lets you iterate quickly without redeploying. Learn more about local testing.Deploy
When ready for production, deploy your application to Runpod Serverless:Your entire application—including all worker functions—runs on Runpod infrastructure. Learn more about deployment.
Manage
Use apps and environments to organize and manage your deployments across different stages (dev, staging, production). Learn more about apps and environments.
Apps and environments
Flash uses a two-level organizational structure: apps (project containers) and environments (deployment stages like dev, staging, production). See Apps and environments for complete details.Local vs production deployment
Flash supports two modes of operation:Local development (flash run)
How it works:
- Development server runs on your machine and updates automatically.
@Endpointfunctions deploy to Runpod endpoints (one for each endpoint configuration).- Endpoints are prefixed with
live-for easy identification. - No authentication required for local testing.
- Fast iteration on application logic.
Production deployment (flash deploy)
How it works:
- All endpoints run independently on Runpod Serverless (one for each endpoint configuration).
- Each endpoint has its own public HTTPS URL.
- API key authentication is required for all requests.
- Automatic scaling based on load.
- Production-grade reliability and performance.
Endpoint functions vs. Serverless endpoints
Understanding the relationship between your code (endpoint functions) and deployed infrastructure (Serverless endpoints) is crucial for building Flash apps. Serverless endpoints are the underlying infrastructure Flash creates on Runpod. Each unique endpoint configuration (defined by itsname parameter) creates one Serverless endpoint with specific hardware (GPU type, worker count, etc.). Each Serverless endpoint gets its own public HTTPS URL (e.g., https://abc123xyz.api.runpod.ai for load-balanced or https://api.runpod.ai/v2/abc123xyz for queue-based).
You call these endpoints to execute your functions. The endpoint configuration type determines the behavior and HTTPS URL of the endpoint:
- For queue-based endpoints: You can only have one function per endpoint, which will be executed when you call
/runsyncor/runon the endpoint. - For load-balanced endpoints: You can have multiple functions with different HTTP routes per endpoint, which will be executed when you call the endpoint with the appropriate HTTP method and path.
Queue-based example
Queue-based endpoints must have exactly one function defined per endpoint configuration, which will be executed when you call the/runsync or /run route on the endpoint.
/run or /runsync route.
The URL depends on your endpoint ID, which is randomly generated when you deploy your app. For example, if your endpoint ID is fexh32emkg3az7, the /runsync URL will be https://api.runpod.ai/v2/fexh32emkg3az7/runsync.
Load-balancing example
Load-balancing endpoints can have multiple routes on a single Serverless endpoint. Use the route decorator pattern:POST /generate and GET /health, which will be executed when you call the endpoint with the appropriate HTTP method and path.
The final endpoint URL depends on your endpoint ID, which is randomly generated when you deploy your app, and the HTTP routes defined in your decorators. For example, if your endpoint ID is l66m1rhm9dhbjd, the /generate route will be available at https://l66m1rhm9dhbjd.api.runpod.ai/generate.
Learn more about endpoint mapping.
Common workflows
Simple projects (single environment)
For solo projects or simple applications:Team projects (multiple environments)
For team collaboration with dev, staging, and production stages:Feature development
For testing new features in isolation:Next steps
Build your first app
Create a Flash app, test it locally, and deploy it to production.
Initialize a project
Create boilerplate code for a new Flash project with
flash init.Test locally
Use
flash run for local development and testing.Deploy to Runpod
Deploy your application to production with
flash deploy.