Perceptron Mk1 takes a top-level
vision_config body field to trigger thinking and grounding. See the API reference for details.Quick reference
| Task | SDK Helper | Optimal Prompt |
|---|---|---|
| Concise caption | caption(style="concise") | Provide a concise, human-friendly caption for the upcoming image. |
| Detailed caption | caption(style="detailed") | Provide a detailed caption describing key objects, relationships, and context in the upcoming image. |
| OCR | ocr() | System: You are an OCR system. Accurately detect, extract, and transcribe all readable text from the image. |
| General detection | detect() | Your goal is to segment out the objects in the scene |
| Class detection | detect(classes=[...]) | Your goal is to segment out the following categories: {categories} |
| Visual Q&A | question() | Pass your question directly as user content |
| Grounded Q&A | question(expects="box") | Same question, model returns boxes with answers |
| Counting | question() | How many {objects} are there? Point to each. |
| Video Clipping | question(video(...), expects="clip") | Clip the moment {event}. |
Caption
| Style | Prompt |
|---|---|
concise | Provide a concise, human-friendly caption for the upcoming image. |
detailed | Provide a detailed caption describing key objects, relationships, and context in the upcoming image. |
SDK
curl
OCR
System instruction:SDK
curl
Detect
| Mode | Prompt |
|---|---|
| General | Your goal is to segment out the objects in the scene |
| With classes | Your goal is to segment out the following categories: {categories} |
SDK
curl
Question
Pass your question directly as user content. For grounded responses, setexpects="box" or expects="point".
SDK
curl
Clip (video temporal segments)
Useexpects="clip" to ask the model to localize when an event happens in a video. The model returns its answer with inline self-closing <clip /> tags, which the SDK parses into Clip objects with start (and optional end) timestamps. Available on Perceptron Mk1.
| Prompt shape | Example |
|---|---|
| Single event | Clip the exact moment {event}. |
| Multiple events | Clip every {event}. Use the <clip> tag for each occurrence. |
| Event + justification | Is {condition} true? Return a clip to justify your answer. Use the <clip> tag to specify clips. |
SDK
curl
<clip /> tags. The mention is an attribute, not body text; timestamps are whitespace-separated with the literal unit seconds:
<collection> whose mention is inherited by any child clip that omits its own:
clip.timestamp.until is None, the model is pointing at an instant rather than a span.
Grounding on Perceptron Mk1 (vision_config body field)
Mk1 takes a top-level vision_config object.
Pick the right enable_thinking value for your task: on for text Q&A and clip, off for point/box/polygon.
Example: spatial detection (thinking off)
Example: text reasoning (thinking on)
vision_config:
| Field | Values | Purpose |
|---|---|---|
annotation_format | point / box / polygon / clip | Grounded output format. clip is video-only. |
enable_thinking | true / false | Chain-of-thought reasoning. |
internal_tools.focus | true / false | Let the model zoom into a region and call itself again on that crop. |