Technically you can use any Twitch API endpoint to trigger clr if you were so inclined, it’s just a matter of programmatically implementing the trigger - so to answer this, pretty much any.
As for displaying something on the screen without using obs or something similar to capture it, honestly I have no clue. I’ve only streamed a few times and just for fun so it’s not my area. I’m sure there are people out there that would be able to do something like this.
If this is possible it’s either coming down to injection, an addon or a source in your streaming software of choice - and the first of which is done in memory; anybody that’s ever dabbled in c++ knows is tricky business to manipulate, it is - by nature - volatile and as such doesn’t respond well to unexpected changes esp in data that’s in use.
If you’re talking about the same functionality as advertisements, there is functionality for that within the API, however, it doesn’t allow you to manipulate the content, just trigger the advertisement etc. If you’re looking for that sort of functionality I HIGHLY doubt you’ll be able to do it on twitch’s service other than contacting their sales team or something similar and purchasing advertisement ‘airtime / plays’ etc.
Twitch provides a service that allows people to broadcast to their servers, it’s then processed and displayed (it’s more technical than that but that is the gist.) Nothing other than what was captured and transferred from the broadcaster will not be displayed in the player (bar advertisements) - and the way in which you capture and send data to this service is by using capture & broadcast software (obs etc).
Twitch doesn’t actually ‘change’ the video coming from the broadcaster to you via the player (at least not directly, indirectly via encoding and bit rates blah blah), they just place a frame over the top, mute the stream - that’s still playing in the background - and display an advertisement over the top, or at least that’s how it seems.
So to summarize -
1 - No, you cannot adjust or manipulate the advertisement or its functionality in anyway via the API.
2 - No, injection isn’t a thing you should do, but it is possible.
3 - Yes, Add Ons are a possibility if you want to hard-bake advertisements into streams bypassing Twitches system (not advised) and I doubt you’ll EVER get a streamer that would install such an add-on unless it benefitted their wallet.
4 - Yes, You could do this with CLR but once again, you run into the issue of the broadcaster changing things and also you would have no control over volume levels (or at least I don’t think so).
On top of this, you can - and broadcasters do - implement advertising boards that rotate images or video that plays within their overlays somewhere. Usually this is due to some sort of sponsorship and they’ve already or are going to be paid for it being there. Go to any pro players stream on league of legends and you’ll see advertisements hard-baked into their streams overlays.
One last thing, if you have your own custom built broadcasting software that is designed to trigger advertisements and mute stream and cover it in a frame that displays the advert or and image or whatever you want to display (much like twitch’s system), then that is possible, but once again I doubt you will get any streamer to use it unless there was something in it for them.
Hope this helped - Bed time now