upload_product_screen
Upload a brand asset (product photo, app screenshot, packaging) into Brand DNA and store it on R2. Pass image_url (https PNG/JPG/WebP) or image_base64.
Two ways to file it:
Send
description(and optionally kind, use_when, tags, name): Siren trusts your words and files the asset as-is. No read.Send only the file: Gemini reads the picture and writes name, kind, description, use_when, tags itself. scan_status goes scanning → ready in about 8 seconds; poll list_product_screens.
kind is free text ("product photo", "dashboard screenshot", "packaging"), there is no fixed list. A brief that names an asset ("advertise the pink handbag") pulls that file into the still. screen_type / device / theme only matter for device-framed screenshot masters.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Free-text kind: product photo, dashboard screenshot, packaging, logo, team photo. | |
| name | No | Human-readable name for the asset or run. | |
| tags | No | Short lowercase tags for search, e.g. ["dashboard", "dark-mode"]. | |
| theme | No | UI theme in the screenshot: light, dark, or unknown. | unknown |
| device | No | Device the screenshot was taken on: phone, tablet, desktop, or none. | phone |
| use_when | No | When Siren should reach for this asset, e.g. "any post about the analytics page". | |
| image_url | No | Public https URL of a PNG, JPG, or WebP to store as a brand asset. | |
| description | No | What the picture shows and what it is for, in your words. When set, Siren files the asset without reading it. | |
| screen_type | No | Screen role: feature, hero, onboarding, settings, or marketing. | feature |
| image_base64 | No | The image bytes as base64, if you have no URL. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||