From scratch for STM32 can be interpreted in various forms, but often the initial bit of code is generated from by a code generator, like STM32 CubeMX or STM32 Cube IDE.
For STM32 you also have the options to:
- Write your own code for the peripherals
- Use the HAL library from ST
- Use the LL (Low Layer) drivers
I personally write my own code, but do look at the HAL library as guide to what registers are needed and generate code from CubeMX to define the values (mostly for the clock generators).
But in answer to your question about video or tutorial -- have you tried https://duckduckgo.com/?q=starting+w...=v291-1&ia=web