How to apply textures on a model/mesh with getting streeched

Hi, I’m new to using image textures. The texture works perfectly on a plane but upon applying on a model/mesh this happens

my nodes btw

You didn’t uv unwrap your model. Basic meshes are already unwrapped when you add them, but when you model something you have to unwrap it manually or use the automatic uv unwrapping.
If you aren’t familiar with the concept of uv unwrapping, in a nutshell its marking cuts along the edges of your model so it can be spread onto a flat texture, kinda like wrapping a gift in reverse.
You make seams by selecting edges and pressing ctrl+e >> mark seam and you unwrap the model by pressing u >> unwrap or alternatively u >> smart uv project.
I probably did a poor job at explaining all this so I suggest you check out some tutorials on youtube such as:

but you don’t show your UVs :wink:

Or on this particular model you could also try changing the Texture Coordinate from UV to Generated, then change the texture projection in each texture node from Flat to Box.

thx ive seen that menu before on yt but never knew what it was called nor how to open it so ive never used it before.