Skip to main content
Glama

Create vector lines

create_vector_lines

Captures a still image, generates a monochrome mask, traces vector lines, and composites a stylized overlay with adjustable threshold, blur, color, and width.

Instructions

Build a pulse-driven image-to-vector-lines system: capture a still frame from a synthetic, camera, file, or existing TOP source, prepare a monochrome mask, freeze it to a snapshot, trace it through a Trace SOP for editable vector geometry, generate a clean TOP line-art overlay, and composite it over the source. Phase 1 is intentionally not realtime: the artist presses the Vectorize pulse to update trace1/frozen_frame, keeping cook cost bounded. Source defaults to a static synthetic contour card so it previews without camera permissions or moving noise; camera is opt-in. Exposes Vectorize, Threshold, PreBlur, StepSize, Smooth/Fit/Border toggles, line color/width, opacity, overlay mode, and calibration knobs. Returns the container, source/prep/frozen/trace/vector/output paths, warnings for unverified Trace/snapshot details, and a preview.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoName for the vector-line system COMP.vector_lines
parent_pathNoParent COMP where the system container is created./project1
sourceNoImage source. 'synthetic' is the safe default; 'camera' is opt-in; 'file' reads movie_file_path; 'existing_top' pulls existing_top_path through a Select TOP.synthetic
existing_top_pathNoExisting TOP path used when source='existing_top'.
movie_file_pathNoMovie/image path used when source='file'.
camera_deviceNoOptional camera device name for source='camera'.
modeNoPrep mode: foreground-oriented mask, mask-only, or full_frame edge/detail tracing.hybrid_foreground
analysis_resolutionNoCapture/trace resolution [width, height] that bounds vectorization cost.
thresholdNoBrightness/mask cutoff for the prep image and Trace SOP.
pre_blurNoBlur amount before thresholding/tracing to remove camera noise.
invertNoInvert the prepared mask before tracing.
remove_bordersNoRemove dirty image borders in Trace SOP when supported.
resampleNoResample Trace SOP shapes to reduce excessive point density.
step_sizeNoTrace SOP resample step / simplification amount.
smooth_shapesNoSmooth traced shapes to reduce sharp camera-noise corners.
fit_curvesNoFit Trace SOP output to Bezier curves; off by default until live-probed.
line_colorNoVector material color as '#rrggbb'.#49dcb2
line_widthNoWireframe line width where supported by the material.
opacityNoOpacity of the rendered vector overlay.
overlay_modeNoComposite TOP operand when show_source=true.over
show_sourceNoComposite the source image under the vector layer when true.
expose_controlsNoExpose the Vectorize pulse plus prep/look/calibration controls.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behavioral traits beyond annotations: the non-realtime workflow, camera opt-in, default synthetic source, and return details (container, paths, warnings, preview). Annotations are readOnlyHint=false, destructiveHint=false, openWorldHint=true, and the description does not contradict them. It adds valuable context about the system's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is detailed but somewhat long (7-8 sentences). It front-loads the main purpose and key behaviors, making it informative. However, it could be slightly more concise without losing clarity. Still, it is well-structured and avoids unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (22 parameters, no output schema), the description is fairly complete. It explains the workflow, non-realtime aspect, source options, and output. It lacks details on error states or prerequisites, but overall provides sufficient context for an AI agent to select and use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 22 parameters, so the description does not need to add much. The description mentions a few key parameters (Threshold, PreBlur, etc.) but does not add significant meaning beyond what is already in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: building a pulse-driven image-to-vector-lines system. It details the specific steps (capture frame, prepare mask, trace, generate overlay, composite) and the intended use case. The tool name and title align well, and the description helps distinguish it from sibling tools like 'create_halftone' or 'create_generic_art'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context about when to use this tool: it mentions the non-realtime nature (Phase 1 is intentionally not realtime) and that the artist presses the Vectorize pulse. It also explains that source defaults to synthetic for preview without camera permissions. However, it does not explicitly state when not to use it or list alternatives, which keeps it from a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pantani/tdmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server