Skip to content
cccskills
FreePublished on GitHub

image

Extract text from images using a vision LLM

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md2.1 KB
  • scripts/__init__.py0 B
  • scripts/main.py2.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Image Skill

Base64-encodes the image and passes it to a vision-capable LLM that extracts all text and key information. Returns the LLM's response as result.text.

Setup

No pip dependency — the skill uses only the Python standard library plus a LLM provider you supply at construction time. The provider can be any object that implements the complete() interface (see below).

Standalone usage

import asyncio
from synthadoc.skills.image.scripts.main import ImageSkill

# ImageSkill REQUIRES a vision-capable provider — calling extract() without
# one raises ValueError immediately.
skill = ImageSkill(provider=my_provider)

async def main():
    result = await skill.extract("/path/to/screenshot.png")
    print(result.text)          # extracted text from the image
    print(result.metadata)      # {"tokens_input": N, "tokens_output": N}

asyncio.run(main())

Provider interface — any object with this async method:

async def complete(
    messages: list,             # list of Message objects from synthadoc.skills.base
    system: str | None = None,
    temperature: float = 0.0,
    max_tokens: int = 4096,
) -> object                     # must have .text (str), .input_tokens (int), .output_tokens (int)

Build the provider with any vision-capable model. Message is importable from synthadoc.skills.base — no dependency on synthadoc.providers:

from synthadoc.skills.base import Message

Supported image formats: .png, .jpg/.jpeg, .webp, .gif, .tiff

When this skill is used

  • Source path ends with .png, .jpg, .jpeg, .webp, .gif, or .tiff
  • User intent contains: image, screenshot, diagram, photo

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

docx

Free

Extract text from Microsoft Word documents

The English summary is being prepared. Showing the original description.

axoviq-ai/synthadoc1.6KUpdated Oct 21, 2026

Ingest Markdown and plain text files

The English summary is being prepared. Showing the original description.

axoviq-ai/synthadoc1.6KUpdated Oct 21, 2026

pdf

Free

Extract text from PDF documents

The English summary is being prepared. Showing the original description.

axoviq-ai/synthadoc1.6KUpdated Oct 21, 2026

pptx

Free

Extract text from Microsoft PowerPoint presentations

The English summary is being prepared. Showing the original description.

axoviq-ai/synthadoc1.6KUpdated Oct 21, 2026

Extract conversation turns from AI session history files (.jsonl)

The English summary is being prepared. Showing the original description.

axoviq-ai/synthadoc1.6KUpdated Oct 21, 2026

url

Free

Fetch and extract text from web URLs

The English summary is being prepared. Showing the original description.

axoviq-ai/synthadoc1.6KUpdated Oct 21, 2026

See all skills by axoviq-ai

Report a problem with this skill