Using official Chat Badge APIs in a Windows desktop app for rendered video overlays

Hello Twitch Developer Community,

I am developing a Windows desktop application that allows users to import their own CSV/JSON chat files and render the messages into a video overlay for video post-production.

The application itself does not retrieve historical chat messages from completed Twitch VODs.

I would like clarification on two points regarding the official Twitch Chat Badges APIs.

1. Device Code Flow with no additional scopes

The application would use only the official Get Global Chat Badges and Get Channel Chat Badges endpoints. These endpoints do not appear to require any additional OAuth scope.

For a Public Client Windows desktop application using the Device Code Flow, what should be supplied for the scope / scopes parameter if the application does not require any permission scopes?

We would prefer not to request unrelated permissions solely to complete OAuth.

2. Rendering Twitch badge images into exported video

The application would use the official Chat Badges APIs only to resolve badge IDs that are already present in a user-provided chat file.

The chat file may have been created from a live chat capture or another lawful source. The application itself does not retrieve historical VOD chat messages.

Badge images would not be distributed as standalone image files or bundled with the application. They would only be rendered as part of the pixels of a generated chat-overlay video.

Users may then use that overlay in video-editing software and may publish the resulting video on platforms such as YouTube, including potentially for commercial content.

Any local cache of Twitch badge assets would be temporary and kept for less than 24 hours.

Is this use of Twitch badge images permitted under the Twitch Developer Services Agreement, including when this feature is provided in a commercially distributed desktop application?

Also, is it permitted to use the official Chat Badges APIs solely to resolve badge IDs already present in a user-provided chat file, provided that the chat file was lawfully obtained by the user and the application itself does not retrieve historical VOD chat messages?

To be clear, the application itself would not retrieve historical chat messages from completed VODs or use undocumented methods to do so.

Thank you for your guidance.

same as any oAuth route, just provide/request no scopes.

  • Do not store copies of Twitch Content or Program Materials, unless you: (a) obtain prior written authorization from Twitch (through these terms or otherwise); (b) control the rights associated with such content; or (c) cache such information for only a twenty-four hour time period without further sharing it with third parties.

That does match the developer TOS entry, and sensible in case badges change as you don’t know when badges change

Sounds sensible to me - this is not legal advice and I am not a lawyer

This takes you back to the issue of compliance with relevant privacy laws. GDPR and the like.

Thank you very much for the clarification.

This answers my technical questions about using the Device Code Flow without additional scopes and the temporary badge cache.

I also understand that your comments regarding rendered badge images are not legal advice, and that privacy laws such as GDPR are a separate consideration that I need to review before a commercial release.

I’ll proceed conservatively with those points in mind. Thanks again for your help!