This would be a great feature for beginners, though I wouldn’t limit it to Unsplash. Let’s make an easy API for hooking in image services such as this one.
I pondered a bit about this when I wrote the Google Drive FAL integration earlier this year. FAL isn’t designed for these kind of image services, so what’s needed is a search and listing interface that adds images to FAL when you select them for use.
This would also go great with the addition of a thumbnail view in the Filelist module (a suggested feature in Improve Beginner UI Sprints).
Some image banks also have great alternative text, so that should be imported together with the image and photo credits.
I had exactly the same idea and did a little research. Besides Unsplash I found Pexels and Pixabay to have an API to access free content. Reshot states that it is working on one.
But as @mabolek suggested it probably makes sense to decouple the backend UI from the service integration. Add the UI and an API to the Core and let TER extensions integrate the services. This decouples adaptions to changes in the services API from Core releases.
Yup. That’s the challenge with FAL integration for those APIs. That’s why I suggest only interacting with FAL when the image is chosen and needs to be accessible as a resource.
IMHO FAL is also for other reason not the way to go.
The image/video sites are not really built around a folder concept. They use tags, maybe categories. For the UI I envision more a filtered preview image view concept rather than a tree.
I have created a non-public extension for pexels.com in 2019 already. It connects with the pexels.com API, provides a search function in the backend and downloads the files to a given folder inside of the fileadmin. So far I did not implement a direct selection inside of the content elements wich is on my list. I also thought about multiple platforms like unsplash, picjumbo etc., but found it more practical when users can decide wich one they use. If you create an extension with multiple platform support, you will also have more codes to eventually update in the future, even if a user only uses pexels for instance. This is why I personally prefer multiple extensions for this, that can be used together. Just my 5 cent.
Honestly the reason is that I contacted pexels.com and they never really replied to my questions about cooperation. They gave me an API key but somehow it has become limited to a small number of requests/results. So I did not want to publish an extension that doesn’t work as expected.