AI
Build actions from a description, generate text, classify chat and react to what viewers mean, using daily AI credits.
AI
The AI plugin adds AI to your actions:
- Create action with AI: describe an action and get a draft you can review in the action editor.
- Generate text and Classify handlers: write a reply or pick a category inside any action.
- Chat message intent trigger: start an action when a chat message means something, however it is worded.
All AI runs on the Stream Kit cloud with Claude (Anthropic) and spends your daily AI credits.
Requirements
- A signed-in Stream Kit account on a plan that includes AI
- The plugins whose triggers and handlers you want to use (for example Twitch for chat, OBS for scenes)
- For Chat message intent: the Bot plugin with Twitch and/or YouTube connected. If the Bot plugin starts later than your actions, intent triggers connect as soon as it is running.
Pages and widgets
| Description | |
|---|---|
| AI → Create action with AI | Describe an action, generate a draft, and manage unpublished drafts |
| AI credits widget | Credits left today and when they reset; add it to the dashboard |
Create action with AI
- The plugin collects the triggers and handlers of your enabled plugins, including field options such as OBS scenes.
- Your description and that list are sent to the Stream Kit cloud, which asks Claude to build the action.
- The result is checked against your installed triggers and handlers. When something does not match, the AI gets one chance to correct it.
- The draft is stored under Drafts and opens in the action editor.
- When you save it in the editor, the action is published to your actions and removed from Drafts.
Every generated action is kept as a draft until you publish it, so you can close the editor and come back later. From the Drafts list you can open a draft again or delete it. Drafts sync with your Stream Kit account like other plugin data. Anything the AI could not build (for example a handler from a plugin you have not enabled) is listed under Check the draft.
Example prompts:
- When someone types !hug in chat, play hug.mp3 and reply with a hug message
- When someone follows: if their name is bob, say hi bob, otherwise welcome them by name
- When a raid has more than 10 viewers, switch to the OBS scene Raid
Descriptions can be up to 2000 characters, and branching (If handlers) can be nested up to three levels deep. Always review the draft before saving: the AI can pick the wrong trigger or option.
Generate text
Writes short text for your stream and stores it in a variable for later handlers, for example Send Message or Speak.
| Field | Description |
|---|---|
| Prompt | What to write. Supports variables, for example Write a short, playful welcome for {user} |
| Instructions | Optional style or persona, for example Friendly pirate, in Dutch |
| Length | Short (one or two sentences, up to 300 characters) or Medium (a short paragraph, up to 1200) |
| Output variable | Variable name for the result, default aiText |
The text is written to be posted or spoken right away: no markdown, links or hashtags, and in the language of the prompt. When the AI call fails, the action stops at this handler so later steps don't send empty text.
Careful with viewer text: don't put a viewer's raw message (
{message}) in the prompt of an action that posts the result automatically, because viewers can steer what the AI writes. Use Classify or Chat message intent to decide what to do, and keep the prompt in your own words.
Classify
Picks the label that best matches a text and stores it in {aiLabel}.
| Field | Description |
|---|---|
| Text | Text to classify, default {message} |
| Labels | One row per label: the label in the left column, an optional description in the right column (up to 20) |
| Minimum confidence | Below this, {aiLabel} stays empty (default 60%) |
Outputs: {aiLabel} (empty when no label applies, or when the AI call failed) and {aiConfidence} (0 to 1). Follow it with an If handler, for example If {aiLabel} equals schedule → reply with your schedule, else do nothing. Use Is empty to handle "none of these".
Chat message intent
Starts the action when a Twitch or YouTube chat message matches what you describe, however the viewer words it: "when do you stream again?", "next stream wanneer?" and "are you live tomorrow" all match Viewer asks when the next stream is.
| Condition | Description |
|---|---|
| Intent | Required. What the message should mean, in plain language |
| Minimum confidence | How sure the AI must be (default 70%) |
| Cooldown (seconds) / Per-user cooldown (seconds) | Skip messages while the action cooled down; no credits are spent on them |
| Platform, Role | Only check messages from one platform or role |
| Minimum message length | Skip short messages such as "hi" |
| Ignore !commands | Skip messages that start with ! |
The trigger variables are the chat message fields ({user}, {message}, {role}, {source}, …) plus {intent} and {confidence}.
How it spends credits:
- Each chat message that passes the conditions costs 1 credit, no matter how many intent actions you have: all intents are checked in one call.
- Messages that fail a condition, or arrive while every matching action is cooling down, cost nothing.
- Max chat intent checks per minute (plugin settings, default 20) caps the spend. Messages beyond it are skipped, not queued.
- When you run out of credits, intent checks pause until the credits reset.
Expect 1–3 seconds between the message and the action. Intent, Minimum confidence and the cooldowns are settings: negating them or combining them with or has no effect.
AI credits
AI credits are a daily budget per account that resets at midnight UTC. Your subscription plan sets how many you get (500 by default).
| Task | Credits |
|---|---|
| Classify, one chat intent check | 1 |
| Generate text | 2 |
Translation (Voice captions, app.ai.translate) | ≈1 per 1000 characters |
| Create action with AI (each attempt; a correction round counts as another) | 10 |
The Create action with AI page and the AI credits widget show how many are left. Calls that fail on the Stream Kit side are not charged; a request the AI declines is.
Other plugins and AI
Other plugins can use the same credits through app.ai. The first time a plugin wants to use AI, Stream Kit asks whether you allow it. You can change your answer later under AI access on the plugin's page in Plugins. The AI plugin itself and your own scripts don't ask.