Nine tools are exposed over HTTP. Every signature, credit cost, and scope listed here matches what the server accepts.
ping
Smoke test for the full request pipeline. Consumes no credits, needs no scopes — use it to confirm your token reaches the server.
Parameters
Any string you want echoed back.
Returns
The string you passed in.
brand_dna.get_brand_dna
Read the persisted Brand DNA for your organization. Takes no arguments.
Returns
false when the org hasn't generated a Brand DNA yet. The remaining fields will be empty strings or empty lists (not null), so agents can inspect this flag once without guarding every field.
AI-generated summary of the brand identity.
The raw brand description the user originally provided.
Hex color codes (e.g. ["#0F172A", "#F97316"]).
Typography guidance, e.g. "Modern serif, moderate contrast".
Voice-and-tone descriptor, e.g. "Playful but precise".
Product category names associated with the brand.
S3 key for the uploaded logo, or null if none.
AI description of the logo, or null if no logo.
catalog.list_blanks
Query the catalog of blank products. Read-only — supports search, technique, and category filters.
Parameters
Case-insensitive substring over title, name, brand, or SKU.
"dtg", "cut-sew", "sublimation", "direct-to-fabric", "embroidery", "screen-print", or the meta-value "aop" (any all-over-print technique).
Substring over product type ("tee", "hoodie", "bag").
Clamped to [1, 100].
Returns
Each product carries uuid, vaybel_sku, handle, name, title, type, brand, default_technique, category. Variants are omitted — fetch per-product when you actually need them.
Length of products after the server-side limit is applied.
credits.check_credits
Inspect your organization's credit wallet before committing to an expensive tool chain.
Parameters
Test whether this amount can be afforded. 0 just returns the current balance.
Returns
Current credit balance for your organization.
Echo of the required argument.
Whether balance >= required. true when required is 0.
design.generate_design
Dispatch a design-generation task. Returns immediately; generation runs in the background (~3–5 minutes).
Parameters
Catalog product UUID. Get one from catalog.list_blanks.
Design brief, ≤ 4000 characters. Prompts containing ignore previous are rejected.
Pins the colorway. Omit to let the pipeline pick a default.
Returns
Task id. Feed into get_design_status or wait_for_design to track progress.
design.get_design_status
One-shot status lookup for a dispatched design task.
Parameters
Task id from generate_design.
Returns
Lifecycle state of the design task.
Design UUID. null until the pipeline has produced a design.
Fractional progress 0.0–1.0 when known.
Current pipeline stage, e.g. "Upscaling…". Empty string when unknown.
Primary design image URL once the task completes.
Failure message when status == "failed". Empty string otherwise.
design.wait_for_design
Block until the design completes, fails, or the timeout elapses. Exponential-backoff polling so the agent doesn't burn turns on a tight loop.
Parameters
Task id from generate_design.
Clamped to [1, 600].
Returns
Lifecycle state. A "running" or "pending" return means the timeout fired — re-poll or give up.
Design UUID. null until the pipeline has produced a design.
Fractional progress 0.0–1.0 when known.
Current pipeline stage. Empty string when unknown.
Primary design image URL once the task completes.
Failure message when status == "failed". Empty string otherwise.
mockup.generate_mockup
Dispatch flat mockup generation (front + back, product-on-white) for a completed design.
Parameters
Design UUID (from generate_design).
"standard" (raw Printful, free) or "pro" (AI-enhanced, billable).
Returns
Task id. Empty string when all flats already exist — nothing dispatched, but the mockup ids below are still usable for get_mockup_status.
Stable UUIDs for every mockup in the batch.
mockup.get_mockup_status
Poll a dispatched mockup batch.
Parameters
UUIDs returned by generate_mockup.
Returns
Batch state. "complete" only when every mockup reached complete; any failure flips the batch to "failed".
Each mockup: { id, status, external_key, image_url, error, stage }.