Sign Customiser

Navigation

Dark mode

AI sign designs

get_ai_sign_design_capabilities

read

Get AI sign design capabilities

Copy page

Check that the AI sign designer is available and that the image meets its limits before declaring a source.

Overview

Read whether the AI sign designer is available for this store, the image types and limits a source must meet, the output formats, the credit policy of one credit for each delivered design, and a timestamped snapshot of the store credits. Requires ai_sign_designs:read. Has no side effects and reserves no credit.

Permission

Requires theai_sign_designs:readpermission. A connection without it answersinsufficient_scopenaming the permission to approve.

Annotations

readOnlyHinttrue
destructiveHintfalse
idempotentHinttrue
openWorldHintfalse

Prerequisites

  • A merchant has connected this store and approved the ai_sign_designs:read scope.

Arguments

This tool takes no arguments.

Result

Availability, the product families, the source limits (content types, filename extensions, maximum bytes, maximum side length and maximum decoded pixels), the output formats, the credit policy and the store credit snapshot.

request_idstringalways present
storeobjectalways present
store.idintegeralways present
store.namestringalways present
availablebooleanalways present

False while the AI sign designer is turned off for this store, or while design jobs cannot start for it yet. Source declarations are refused only while the designer is turned off.

product_familiesarray of stringalways present

Expected to grow: tolerate unknown values.

sourceobjectalways present

The limits a source image must meet. The real bytes are checked against them when a design uses the source.

source.content_typesarray of string
source.file_extensionsarray of string
source.max_byte_sizeinteger
source.max_dimension_pxinteger
source.max_pixelsinteger
source.upload_target_ttl_secondsinteger
source.retention_hoursinteger
output_formatsarray of stringalways present
pricingobjectalways present
pricing.credits_per_delivered_designinteger
pricing.credits_per_failed_designinteger
creditsobjectalways present

The store credit wallet at observed_at. available_units is what a new design can spend now.

credits.available_unitsinteger
credits.plan_unitsinteger
credits.purchased_unitsinteger
credits.held_unitsinteger
credits.plan_cycle_ends_atstring or null
credits.observed_atstring

Error cases

insufficient_scope

The connection was approved without ai_sign_designs:read.

Read the capabilities of an available store

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_ai_sign_design_capabilities",
    "arguments": {}
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "available": true,
      "product_families": [
        "neon",
        "channel_letter",
        "metal_cut_out"
      ],
      "source": {
        "content_types": [
          "image/png",
          "image/jpeg",
          "image/webp"
        ],
        "file_extensions": [
          "png",
          "jpg",
          "jpeg",
          "jfif",
          "webp"
        ],
        "max_byte_size": 5242880,
        "max_dimension_px": 8192,
        "max_pixels": 16777216,
        "upload_target_ttl_seconds": 600,
        "retention_hours": 24
      },
      "output_formats": [
        "svg",
        "eps",
        "illustrator_pdf"
      ],
      "pricing": {
        "credits_per_delivered_design": 1,
        "credits_per_failed_design": 0
      },
      "credits": {
        "available_units": 42,
        "plan_units": 40,
        "purchased_units": 2,
        "held_units": 1,
        "plan_cycle_ends_at": "2026-11-01T00:00:00Z",
        "observed_at": "2026-10-20T09:30:00Z"
      }
    }
  }
}

A connection without the AI read scope (error)

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_ai_sign_design_capabilities",
    "arguments": {}
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "isError": true,
    "structuredContent": {
      "error": {
        "code": "insufficient_scope",
        "title": "Insufficient scope",
        "detail": "This operation requires the ai_sign_designs:read scope.",
        "recovery": "The connection was authorised without the scope this tool needs. Ask the merchant to reconnect the connector and approve the scope named in required_scopes. Do not retry this call."
      }
    }
  }
}

Type a question and press Enter. Use the arrow keys to move between the results.