Python FastAPI Tutorial (Part 18): Deploy to a VPS - Security, Nginx, SSL, and Custom Domain

by Corey Schafer · published 2026-04-19

Total watch time

1h 32m

at speed · exactly 1 hour, 32 minutes, 5 seconds at 1×

1h 32m 5s
1.25×1h 13m 40s
1.5×1h 1m 23s
1.75×52m 37s
46m 3s
Compare Open on YouTube JSON

Embed a badge

Show the length in a README or course description — it links back here and updates itself

Length: 1h 32m 5s

Markdown
[![Length: 1h 32m 5s](https://playlistduration.com/badge/video/wd1wt2d0eus.svg)](https://playlistduration.com/video/wd1wt2d0eus)
HTML
<a href="https://playlistduration.com/video/wd1wt2d0eus"><img src="https://playlistduration.com/badge/video/wd1wt2d0eus.svg" alt="Length: 1h 32m 5s" width="128" height="20"></a>

Add ?speed=1.5 to the image URL for the time at that speed, ?label=Course to change the left text, or ?style=flat-square for square corners.

Want the numbers themselves? GET https://playlistduration.com/api/v1/video/wd1wt2d0eus returns them as JSON — free, no key. API docs →

Data from the YouTube Data API as of 2026-09-22 (cached).