RunPod spot vs on-demand pricing
spot instances offer significantly lower prices than on-demand instances by utilizing spare capacity, but they come with the risk of interruptions. On-demand pricing provides stable, guaranteed access at a higher cost, suitable for critical or long-running AI workloads.VERDICT
RunPod spot for cost-sensitive, interruptible AI tasks to maximize savings; use on-demand instances when reliability and uninterrupted access are essential.| Option | Key strength | Pricing | Availability | Best for |
|---|---|---|---|---|
| RunPod Spot | Lowest cost, uses spare capacity | Up to 70% cheaper than on-demand | May be interrupted or reclaimed | Batch jobs, experiments, non-critical tasks |
| RunPod On-Demand | Guaranteed availability and stability | Standard pricing, higher than spot | Always available | Production workloads, latency-sensitive tasks |
| RunPod Reserved | Long-term commitment discounts | Lower than on-demand, higher than spot | Reserved capacity | Consistent heavy usage |
| RunPod Preemptible | Similar to spot, short-term use | Discounted pricing | Can be interrupted anytime | Testing, flexible workloads |
Key differences
RunPod spot instances leverage unused cloud capacity, offering up to 70% cost savings but with the risk of sudden interruptions when capacity is reclaimed. On-demand instances provide stable, uninterrupted access at a higher price, ideal for critical AI workloads. Spot pricing fluctuates based on availability, while on-demand pricing is fixed.
Spot instance example
Here is how to run a job on a RunPod spot instance using the Python SDK, specifying the spot option for cost savings.
import os
import runpod
runpod.api_key = os.environ["RUNPOD_API_KEY"]
endpoint = runpod.Endpoint("your-spot-endpoint-id")
result = endpoint.run_sync({
"input": {
"prompt": "Generate a summary of AI pricing models",
"spot": True # Request spot instance for lower cost
}
})
print("Output:", result["output"]) Output: "RunPod spot instance completed your task with cost savings."
On-demand instance example
To run the same job on a RunPod on-demand instance, omit the spot flag to ensure stable, uninterrupted execution.
import os
import runpod
runpod.api_key = os.environ["RUNPOD_API_KEY"]
endpoint = runpod.Endpoint("your-on-demand-endpoint-id")
result = endpoint.run_sync({
"input": {
"prompt": "Generate a summary of AI pricing models"
# No spot flag means on-demand
}
})
print("Output:", result["output"]) Output: "RunPod on-demand instance completed your task reliably."
When to use each
Use spot instances when cost efficiency outweighs the risk of interruptions, such as for batch processing, training experiments, or flexible workloads. Use on-demand instances for production, latency-sensitive, or long-running tasks where reliability is critical.
| Use case | Recommended option | Reason |
|---|---|---|
| Batch training jobs | Spot | Maximize cost savings with interruptible workloads |
| Production inference | On-demand | Ensure stable, uninterrupted service |
| Experimentation and testing | Spot | Lower cost with flexible timing |
| Critical real-time applications | On-demand | Guaranteed availability and performance |
Pricing and access
RunPod offers multiple pricing options with API access for all. Spot instances provide the lowest cost but can be interrupted. On-demand instances cost more but guarantee availability. Reserved instances offer discounts for long-term commitments.
| Option | Free tier | Paid | API access |
|---|---|---|---|
| Spot | No | Yes, discounted | Yes |
| On-demand | No | Yes, standard pricing | Yes |
| Reserved | No | Yes, discounted with commitment | Yes |
| Preemptible | No | Yes, discounted | Yes |
Key Takeaways
- RunPod spot instances reduce costs up to 70% but risk interruptions.
- On-demand instances guarantee availability at a higher price.
- Use spot for flexible, non-critical workloads and on-demand for production.
- API supports both spot and on-demand with simple flags.
- Reserved instances offer a middle ground with discounts for steady use.