Requires Chrome 148+ with the on-device Prompt API enabled (multimodal input). Desktop only, ~22 GB free disk, GPU with >4 GB VRAM.
Brush Color Output language Load example
Output will appear here.
System prompt Persona/instructions sent once at session start (initialPrompts[role=system]). Never dropped on context overflow.Example: You are a friendly art critic. Be concise. User prompt text Optional extra instruction sent in the user turn (with the image).Example: Focus on the colors and composition. Assistant response prefix Forces the model to continue from this text (prefix: true).Example: ```json\n{"description":" Temperature Sampling randomness. Higher = more creative.Typical: 0.7 · default: 1.0 · max: 2.0. Must be set together with topK. topK Sample from the K most likely tokens.Typical: 3–40 · default: 3 · max: 128. Must be set together with temperature. Audio in expectedInputs Declare audio support at session creation. Required for audio inputs; needs a GPU.Example: { type: "audio" } Response delivery Streaming shows partial text as it generates; non-streaming waits for the full reply.API: session.promptStreaming() vs session.prompt() responseConstraint (JSON Schema) Forces structured output matching this schema.Example: {"type":"object","properties":{"summary":{"type":"string"},"objects":{"type":"array","items":{"type":"string"}}},"required":["summary","objects"]} omitResponseConstraintInput — saves context tokens; describe the JSON shape in your prompt instead.
initialPrompts[role=system]
You are a friendly art critic. Be concise.
Focus on the colors and composition.
prefix: true
```json\n{"description":"
0.7
1.0
2.0
3
40
128
{ type: "audio" }
session.promptStreaming()
session.prompt()
{"type":"object","properties":{"summary":{"type":"string"},"objects":{"type":"array","items":{"type":"string"}}},"required":["summary","objects"]}