Automated summary
This skill provides the Perceptron Python SDK for analyzing images and videos through Isaac vision models: visual Q&A, object detection, OCR, captioning, and grounded spatial reasoning.
Strengths
- Covers a wide range of vision tasks (Q&A, detection, OCR, counting, captioning) through one consistent interface
- Accepts file paths or URLs directly, with base64 conversion handled automatically
- Structured outputs via Pydantic, JSON schemas, or regex, plus conversion of normalized coordinates to pixels
- Advanced DSL composition with @perceive for custom multimodal workflows
Limitations
- Requires a PERCEPTRON_API_KEY and access to the hosted Perceptron service
- Analysis only: it does not generate images
- Object detection depends on classes the user explicitly provides
Use it when you need to query, detect, OCR, or describe the contents of images or videos inside a Python script.
Do not use it to generate or edit images, or when no access to the Perceptron service is available.
Security analysis
CautionThe skill provides a legitimate image and video analysis SDK with no destructive or clearly malicious instructions. However, it uses network calls to an external API, shell commands, and installs a third-party package, which warrant caution rather than a completely safe rating.
- •Instructs installing a third-party Python package via pip, introducing supply-chain risk.
- •Sends image and video data to an external Perceptron API, which may expose sensitive visual information.
- •Requires an API key environment variable, creating risk of accidental exposure if mishandled.
- •Uses shell commands including ffmpeg for video frame extraction.
Examples
Use the perceptron skill to ask 'What is happening in this image?' about photo.jpg and print the answer.Detect all forklifts and people in warehouse.jpg with perceptron and print their bounding boxes in pixel coordinates for a 1920x1080 image.Run OCR on receipt.jpg with perceptron and extract the total amount as text.name: perceptron description: "Image and video analysis powered by Isaac vision models. Capabilities include visual Q&A, object detection, OCR, captioning, counting, and grounded spatial reasoning with bounding boxes, points, and polygons. Supports streaming, structured outputs, DSL composition, and in-context learning. NOT for: generating images (analysis only)."
Perceptron — Vision SDK
Docs: https://docs.perceptron.inc/
Image and video analysis via the Perceptron Python SDK. Pass file paths or URLs directly — the SDK handles base64 conversion automatically.
Setup
pip install perceptron
export PERCEPTRON_API_KEY=ak_...
Quick Reference
| Task | Function | Example |
|------|----------|---------|
| Describe / Q&A | question() | question("photo.jpg", "What's in this image?") |
| Grounded Q&A | question() | question("photo.jpg", "Where is the cat?", expects="box") |
| Object detection | detect() | detect("photo.jpg", classes=["person", "car"]) |
| OCR | ocr() | ocr("document.png") |
| OCR (markdown) | ocr_markdown() | ocr_markdown("document.png") |
| Caption | caption() | caption("photo.jpg", style="detailed") |
| Counting | question() | question("photo.jpg", "How many dogs?", expects="point") |
| Custom workflow | @perceive | See DSL composition below |
Python SDK
from perceptron import configure, detect, caption, ocr, ocr_markdown, question
# Configuration (or set PERCEPTRON_API_KEY env var)
configure(provider="perceptron", api_key="ak_...")
# Visual Q&A — the most common operation
result = question("photo.jpg", "What's happening in this image?")
print(result.text)
# Grounded Q&A — get bounding boxes with answers
result = question("photo.jpg", "Where is the damage?", expects="box")
for box in result.points or []:
print(f"{box.mention}: ({box.top_left.x},{box.top_left.y}) → ({box.bottom_right.x},{box.bottom_right.y})")
# Object detection
result = detect("warehouse.jpg", classes=["forklift", "person"])
for box in result.points or []:
print(f"{box.mention}: ({box.top_left.x},{box.top_left.y}) → ({box.bottom_right.x},{box.bottom_right.y})")
# OCR
result = ocr("receipt.jpg", prompt="Extract the total amount")
print(result.text)
result = ocr_markdown("document.png") # structured markdown output
print(result.text)
# Captioning
result = caption("scene.png", style="detailed")
print(result.text)
DSL Composition (Advanced)
Build custom multimodal workflows:
from perceptron import perceive, image, text, system
@perceive(expects="box", model="isaac-0.2-2b-preview")
def find_hazards(img_path):
return [system("<hint>BOX</hint>"), image(img_path), text("Locate all safety hazards")]
result = find_hazards("factory.jpg")
Structured Outputs
Constrain responses to Pydantic models, JSON schemas, or regex:
from perceptron import perceive, image, text, pydantic_format
from pydantic import BaseModel
class Scene(BaseModel):
objects: list[str]
count: int
@perceive(response_format=pydantic_format(Scene))
def count_objects(path):
return image(path) + text("List all objects and count them. Return JSON.")
result = count_objects("photo.jpg")
scene = Scene.model_validate_json(result.text)
Pixel Coordinate Conversion
All spatial outputs use normalized coordinates (0–1000). Convert to pixels:
pixel_boxes = result.points_to_pixels(width=1920, height=1080)
# Or standalone:
from perceptron import scale_points_to_pixels
pixel_pts = scale_points_to_pixels(result.points, width=1920, height=1080)
CLI Script
Located at: <skill-dir>/scripts/perceptron_cli.py
Requires PERCEPTRON_API_KEY environment variable. The provider is always perceptron.
P=<skill-dir>/scripts/perceptron_cli.py
# Visual Q&A
python3 $P question photo.jpg "What do you see?"
python3 $P question photo.jpg "Where is the car?" --expects box
# Object detection
python3 $P detect photo.jpg --classes person,car
python3 $P detect photo.jpg --classes forklift --format json --pixels
python3 $P detect ./frames/ --classes defect # batch directory
# OCR
python3 $P ocr document.png
python3 $P ocr receipt.jpg --output markdown
# Captioning
python3 $P caption scene.png --style detailed
# Custom perceive
python3 $P perceive frame.png --prompt "Describe this scene" --expects box
# Batch processing
python3 $P batch --images img1.jpg img2.jpg --prompt "Describe" --output results.json
# Parse raw model output
python3 $P parse "<point_box ...>" --mode points
# List models
python3 $P models
Models
| Model | Best for | Speed | Temp |
|-------|----------|-------|------|
| isaac-0.2-2b-preview (default) | General use, detection, OCR | Fast | 0.0 |
| isaac-0.2-1b | Quick/simple tasks | Fastest | 0.0 |
Override with model="..." in any SDK call or --model ... in CLI.
Grounding (expects parameter)
| Value | Returns | Use case |
|-------|---------|----------|
| text (default) | Plain text | Q&A, descriptions, OCR |
| box | Bounding boxes | Detection, localization |
| point | Point coordinates | Counting, pointing |
| polygon | Polygon vertices | Segmentation |
Video Analysis
Extract frames with ffmpeg, then analyze:
# Single frame at 5 seconds
ffmpeg -ss 5 -i video.mp4 -frames:v 1 -q:v 2 /tmp/frame.jpg
# Then analyze
python3 $P question /tmp/frame.jpg "What's happening?"
For continuous monitoring, extract multiple frames and batch process.
Reference Files
For deeper SDK usage, consult these when needed:
- references/capabilities.md — Focus mode, reasoning, streaming, ICL, structured outputs, annotation types
- references/prompting.md — Optimal prompts per task, vision hints (
<hint>BOX</hint>), temperature guide - references/api.md — SDK configuration, models, image formats, streaming, best practices
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/perceptron-vision-sdk-mrwakfyp' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/perceptron-vision-sdk-mrwakfyp/download' --output '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md.part' && mv '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md.part' '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Original excerpt: Setup
pip install perceptron
export PERCEPTRON_API_KEY=ak_...
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md' && test -s '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/perceptron' && cp -R '.skill-downloads/perceptron-vision-sdk-mrwakfyp' '.claude/skills/perceptron'Cursor
test -f '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md' && test -s '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/perceptron' && cp -R '.skill-downloads/perceptron-vision-sdk-mrwakfyp' '.cursor/skills/perceptron'Codex
test -f '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md' && test -s '.skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/perceptron' && cp -R '.skill-downloads/perceptron-vision-sdk-mrwakfyp' '.agents/skills/perceptron'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/perceptron-vision-sdk-mrwakfyp'openskills read 'perceptron-vision-sdk-mrwakfyp'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Create Interactive Maps with kepler.gl
Data & AI
Create interactive map visualizations and export standalone HTML using the keplergl Python package. Use to plot geospatial data from DataFrames, GeoJSON, or CSV.
Agent-Driven Parameter Optimization
Data & AI
Guide for optimizing configurable systems with a measurable objective, using bounded trials and evidence-based recommendations.
ICP Visitor Outreach
Data & AI
Identify signed-up users matching the ideal customer profile but stalled, and draft personalized outreach to re-engage them.