Skip to main content
Skills are modular, reusable capabilities that provide vlm-1 with domain-specific expertise. Instead of specifying a domain, you can reference a skill by name (and optionally pin a version) in any generation endpoint.
For a full overview of skills including version pinning, composability, and the AgentSkill reference, see the Skills capability page.

Using Skills in Generation Requests

Pass skills via the config.skills field on any generation endpoint. When skills are provided, the domain field is optional — the skill’s built-in prompt and schema are used automatically.

Supported endpoints

EndpointPath
Image → JSONPOST /v1/image/generate
Doc → JSONPOST /v1/document/generate
Audio → JSONPOST /v1/audio/generate
Video → JSONPOST /v1/video/generate

Example

from PIL import Image
from vlmrun.client import VLMRun
from vlmrun.client.types import GenerationConfig, AgentSkill

client = VLMRun(api_key="<VLMRUN_API_KEY>")

response = client.image.generate(
    images=[Image.open("photo.jpg")],
    config=GenerationConfig(
        skills=[AgentSkill(skill_name="invoice-extraction")]
    )
)

Managing Skills

Skills are managed through the Agent API. Use these endpoints to create, list, lookup, update, and download skills:
EndpointDescription
List SkillsGET /v1/skills — List all available skills
Lookup SkillPOST /v1/skills/lookup — Lookup a skill by name, ID, or version
Get SkillGET /v1/skills/{skill_id} — Get a skill by ID
Create SkillPOST /v1/skills/create — Create a new skill
Update SkillPOST /v1/skills/{skill_id}/update — Create a new version of a skill
Download SkillGET /v1/skills/{skill_id}/download — Get a presigned download URL
Skill management endpoints use the Agent API base URL: https://agent.vlm.run/v1