Synthèse automatique
Ce skill fournit le SDK Python Perceptron pour analyser des images et des vidéos via les modèles de vision Isaac : questions visuelles, détection d'objets, OCR, légendage et raisonnement spatial ancré.
Points forts
- Couvre un large éventail de tâches visuelles (Q&A, détection, OCR, comptage, légendage) dans une seule interface cohérente
- Accepte directement les chemins de fichiers ou les URL, la conversion base64 étant gérée automatiquement
- Sorties structurées via Pydantic, schémas JSON ou regex, avec conversion des coordonnées normalisées en pixels
- Composition DSL avancée avec @perceive pour des workflows multimodaux personnalisés
Limites
- Nécessite une clé API PERCEPTRON_API_KEY et un accès au service hébergé Perceptron
- Limité à l'analyse : ne génère pas d'images
- La détection d'objets dépend de classes fournies explicitement par l'utilisateur
À utiliser lorsqu'il faut interroger, détecter, OCRiser ou décrire le contenu d'images ou de vidéos dans un script Python.
À ne pas utiliser pour générer ou éditer des images, ou lorsque aucun accès au service Perceptron n'est possible.
Analyse de sécurité
PrudenceThe 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.
Exemples
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
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
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. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Extrait original : Setup
pip install perceptron
export PERCEPTRON_API_KEY=ak_...
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
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 doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/perceptron-vision-sdk-mrwakfyp'openskills read 'perceptron-vision-sdk-mrwakfyp'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/perceptron-vision-sdk-mrwakfyp/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Créer des cartes interactives avec kepler.gl
Data & IA
Création de cartes interactives et export HTML autonome avec le package Python keplergl, à partir de données géospatiales (DataFrame, GeoJSON, CSV).
Optimisation de paramètres par agent
Data & IA
Guide d'optimisation de systèmes configurables avec objectif mesurable, via des essais bornés et une recommandation fondée sur des preuves.
Relance des visiteurs ICP
Data & IA
Identifiez les utilisateurs inscrits correspondant au profil client idéal mais qui n'ont pas activé, et rédigez des messages de relance personnalisés pour les réengager.