Create Clip enhancements
When creating a clip via the Create Clip API, it is VERY limited compared to the (not for public use) GraphQL interface. Requesting that the following enhancements be made to the Create Clip API so that 3rd party apps can leverage them:
1) Add ability to specify the clip start time (number of seconds from when the broadcast started). Reason: when deciding when to create a clip, apps may want to look back 10-15 seconds instead of generating the clip starting from when the API is called.
2) Add ability to specify the clip title. Reason: currently, the API defaults the clip title to the stream title, with no option to change it.
3) Add ability to specify the clip duration (max 60 secs). Reason: current API defaults to 30 seconds with no option to change it.
4) (nice to have) Ability to access raw media MP4 files once created.
5) (nice to have) Ability to specify the clip playback speed (default to 1.0)
6) (nice to have) Ability to specify the clip preview image offset in seconds (default to 0 - start of the clip)
The ability to specify a title and duration are basically an essential part of clipping. The API needs these features too.
This is 100% necessary for creating more dynamic and interesting content. At the moment all we can do is create a 30 second clip with the same title as the stream. At the least we should be able to specify a duration between 30 - 60 seconds. The same goes for a title. Setting things like the offset would be nice as well, but I could see that being a function of the manual edit only.
I think this is a major restriction on automated content creation for streamers.
Not being able to specify the clip's title is a critical flaw. Other points are good too.
Upvote specifically for 1, 2, 3 & 4 (the others are not needed for my use cases)
I just came across a use case for this as well. My wife is coming over from Mixer and I have written a little rest endpoint that triggers a clip, posts the link in chat, and sends it to a discord webhook. Previously we could title the clip via the API so it was easily identifiable in Discord. It would be nice to have that feature over here too.
My stream is based around automated game plays and detection of certain moments such as a player getting multiple kills. When I detect this, I was hoping to create the clip automatically from my application and title it based on which class/player did it, such as Hero name and since some players can take upto around 58 seconds for a penta kill, then i figured the ability to increase the clip time would also be really beneficial.
An automated create/edit API makes sense for my stream because the software i want to enhance runs on the twitch service and it would be nice to auto clip good plays, since its a 24/7 automated stream.
Having an occurred_at timestamp would be huge. We are trying to verify the integrity of actions taken place in a video. For example if someone creates a highlight and says "See I did this thing at this time" then we can't verify that's true since the highlight has no reference to the original video. If the highlight had an occurred_at timestamp from the original video it was created from, our problems would be solved. Hope this gets into the dev roadmap!
As it stands, Clips are meant to be manually edited after creation. These changes would focus it more on full automation which I'm all for. Create clip, set details, then automatically finish or create clip, fill in defaults, and then prompt for manual editing.
4) A non-public endpoint exists for the frontend (`https://clips.twitch.tv/api/v2/clips/CLIP_SLUG/status`) but not yet available on Helix or at least documented.
5) Playback speed is just client-side for whoever is viewing it. There was a way to permanently modify a Clip's speed in the editor but they removed the feature long ago.
When a VOD gets deleted, there's no known way to retrieve the time of when the clipped event occurred live. Knowing the time of the event helps tremendously when creating highlights for an individual as it allows chronological ordering with no errors, whereas if one uses the _created_at_ key from the **Get Clip** api endpoint, you're subject to the time when the clip was created.
This topic was discussed briefly on the twitch developers forum, https://discuss.dev.twitch.tv/t/clip-event-timestamp/19441/3 .