Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bytedance avatar

Byted Tos Image Process

  • 31 installs
  • 411 repo stars
  • Updated August 4, 2026
  • bytedance/agentkit-samples

byted-tos-image-process is a Claude skill that inspects, transforms, and watermarks images in Volcengine TOS and runs VLM-based image understanding.

About

This skill inspects and transforms images stored in Volcengine TOS. A developer uses it to read metadata, convert formats, resize and crop, draw markers, add visible or blind watermarks, and run AI image understanding such as OCR, description, face detection, and visual Q&A through a VLM. It builds TOS image-process strings and can persist results back to TOS.

  • Inspects and transforms TOS-stored images: convert, resize, crop, watermark
  • Embeds and extracts blind watermarks
  • AI image understanding via VLM for OCR, description, and visual Q&A

Byted Tos Image Process by the numbers

  • 31 all-time installs (skills.sh)
  • Ranked #964 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

byted-tos-image-process capabilities & compatibility

Requires Volcengine TOS credentials; VLM and blind watermark need account whitelist/permission

Capabilities
image processing · watermarking · ocr · image understanding
Use cases
image generation · pdf parsing
Pricing
Bring your own API key
From the docs

What byted-tos-image-process says it does

Inspects and transforms images stored in Volcengine TOS: read metadata, convert formats, resize, draw points and lines
SKILL.md
AI-powered image understanding via VLM (doubao-seed-1.6-vision). Supports description, OCR, face detection, and visual Q&A
SKILL.md
npx skills add https://github.com/bytedance/agentkit-samples --skill byted-tos-image-process

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs31
repo stars411
Last updatedAugust 4, 2026
Repositorybytedance/agentkit-samples

What it does

Inspect, transform, watermark, and run AI understanding on images stored in Volcengine TOS.

Who is it for?

Skip if: Editing images with local desktop tooling outside TOS, video or document processing, or non-TOS storage providers.

When should I use this skill?

You need to get image info, convert or resize images, annotate or watermark them, extract blind watermarks, or run OCR/description/face detection on TOS images.

What you get

Runs TOS image-process operations and VLM understanding, saving results locally or back to TOS.

By the numbers

  • Bundles 9 image scripts
  • Blind watermark requires images at least 512x512 px

Files

SKILL.mdMarkdownGitHub ↗

Volcengine TOS Image Process

Inspect and transform images stored in Volcengine TOS — metadata, format conversion, resize, watermark, blind watermark, and AI-powered image understanding.

Setup (once per environment)

Install dependencies on first use:

cd {baseDir}
pip install -r {baseDir}/requirements.txt

Then run scripts with Python 3.7+:

python3 {baseDir}/scripts/<script>.py <args>

If you see a ModuleNotFoundError for tos, reinstall dependencies.

Environment Variables

This skill relies on the TOS identity declared in the metadata block. Common runtime variables are:

Environment VariableRequiredDescription
TOS_ACCESS_KEYYesTOS access key ID
TOS_SECRET_KEYYesTOS secret access key
TOS_ENDPOINTYesTOS endpoint URL
TOS_REGIONYesTOS region
TOS_BUCKETYesSource bucket that stores the image
TOS_OBJECT_KEYNoSource object key of the image. Can be overridden with --key
TOS_SECURITY_TOKENNoSTS session token when using temporary credentials
TOS_SAVEAS_BUCKETNoDefault target bucket for saving processed results
TOS_SAVEAS_OBJECT_PREFIXNoDefault key prefix for saving processed results

Quick start (common tasks)

# Read image metadata
python3 {baseDir}/scripts/image_info.py --key photo.jpg

# Convert to WebP
python3 {baseDir}/scripts/image_format.py --key photo.jpg --f webp --output converted.webp

# Resize to width 500
python3 {baseDir}/scripts/image_resize.py --key photo.jpg --w 500 --output resized.jpg

# Draw points and connecting lines
python3 {baseDir}/scripts/image_draw.py --key photo.jpg \
  --points 50x50-200x120-320x220 --line --color FF0000 --output draw.jpg

# Zoom by resize + crop
python3 {baseDir}/scripts/image_zoom.py --key photo.jpg \
  --resize-w 1200 --crop-w 500 --crop-h 400 --gravity center --output zoom.jpg

# Add visible text watermark
python3 {baseDir}/scripts/image_watermark.py --key photo.jpg \
  --text "My Brand" --font fangzhengshusong --color FF0000 --size 72 \
  --gravity center --output watermarked.jpg

# Embed blind watermark (requires ≥512×512 image and account permission)
python3 {baseDir}/scripts/image_blindwatermark.py --key photo.jpg \
  --kv text=HelloBlind --output blind.jpg

# Run a custom process string
python3 {baseDir}/scripts/image_process.py --key photo.jpg \
  --process "image/resize,w_300,h_300,m_fill" --output filled.jpg

# AI-powered image understanding (describe, OCR, face detection, etc.)
python3 {baseDir}/scripts/image_understanding.py --key photo.jpg \
  --prompt "Describe this image in detail"
python3 {baseDir}/scripts/image_understanding.py --key document.png \
  --prompt "识别图片中的所有文字内容"

Available scripts

ScriptPurpose
scripts/image_info.pyRead image metadata (format, dimensions, size). Falls back to local parsing when TOS returns raw bytes.
scripts/image_format.pyConvert format (jpg, png, webp) with optional quality setting.
scripts/image_resize.pyResize by width/height/mode.
scripts/image_draw.pyDraw points and optional connecting lines on an image with image/draw.
scripts/image_zoom.pyBuild agent-friendly zoom results by chaining image/resize and crop.
scripts/image_watermark.pyAdd visible text or image watermark with positioning, rotation, tiling, and opacity.
scripts/image_blindwatermark.pyEmbed blind watermark. Requires account-level permission and image ≥512×512 px.
scripts/image_process.pyPass any raw image/... process string.
scripts/image_understanding.pyAI-powered image understanding via VLM (doubao-seed-1.6-vision). Supports description, OCR, face detection, and visual Q&A through natural language prompts. Requires account whitelist.

All scripts support --key to override TOS_OBJECT_KEY, --output for local save, and --saveas-bucket/--saveas-object for TOS-to-TOS persistence. Most scripts also support --json for machine-readable output, and the process-building scripts support --dry-run to preview the resolved request. Run any script with -h for full usage.

Out of scope

  • Editing images with local desktop tooling outside TOS.
  • Video or document processing (use byted-tos-video-process or byted-tos-doc-process).
  • Non-TOS storage providers.

Rules

  • Authentication: Authentication is provided by the TOS identity declared in the metadata block above. Object selection can be overridden per script with --key.
  • Parameter source of truth: The exact process string syntax is defined by official Volcengine TOS documentation. When uncertain, check REFERENCE.md.
  • Watermark encoding: Text and font parameters in image/watermark require URL-safe Base64 encoding. The watermark script handles this automatically when you pass --text and --font.
  • Blind watermark constraints: The source image must be at least 512×512 pixels, and the account must have the blind watermark capability enabled. If the capability is missing, the script exits with [SKIP] (use --strict to fail hard).
  • Image understanding: Uses image/understanding with the doubao-seed-1.6-vision VLM model. The --prompt parameter is required. Supports description, OCR, face detection, and any visual Q&A task. Requires account whitelist. Response time is typically 10-60 seconds.
  • Language: Reply in the user's preferred language.

Further reading

  • Setup and environment: README.md
  • Parameter reference: REFERENCE.md
  • End-to-end workflows: WORKFLOWS.md

Related skills

Generative Mediaintegrationsbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.