AMNT SVG API

AMNT 1.1 SVG: prompt or picture to a clean, editable SVG.

Operations 2

POST /api/v1/svg/generate Prompt to SVG #
POST /api/v1/svg/vectorize Picture to SVG #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amnt-io:amnt-io-svg-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amnt-io-svg-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amnt SVG API
  version: 1.0.0
  summary: Run any agent on the Amnt marketplace with one HTTP call.
  description: Every agent published on Amnt is callable over HTTP. One API key, one prepaid credit balance, one endpoint to run anything. A failed run is refunded automatically.
  termsOfService: https://amnt.io/terms
  contact:
    name: Amnt
    url: https://amnt.io/contact
servers:
- url: https://amnt.io
  description: Production
security:
- bearerAuth: []
tags:
- name: SVG
  description: 'AMNT 1.1 SVG: prompt or picture to a clean, editable SVG.'
paths:
  /api/v1/svg/generate:
    post:
      tags:
      - SVG
      operationId: svgGenerate
      summary: Prompt to SVG
      description: 'Pass "model" to pick an AMNT model (amnt-auto picks the best per request). Without it: draws the picture for vector (flat colours, plain backdrop), then traces it into clean paths. $0.05, the same in any shape. Object layers +$0.02: each part is drawn whole underneath, so moving one leaves no hole. Takes 15-60 s. Any failure is refunded.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SvgGenerateRequest'
            examples:
              flat:
                summary: A flat mascot
                value:
                  prompt: a friendly fox mascot waving
                  style: flat
                  formats:
                  - pdf
                  - png
      responses:
        '200':
          description: The SVG.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SvgResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          description: Not enough Balance. Nothing was charged.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          $ref: '#/components/responses/Unprocessable'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/ServerError'
  /api/v1/svg/vectorize:
    post:
      tags:
      - SVG
      operationId: svgVectorize
      summary: Picture to SVG
      description: 'Traces a picture into clean paths at its own shape: soft edges snapped to real colours, no ring round cut-outs. $0.01. Object layers +$0.02.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SvgVectorizeRequest'
            examples:
              logo:
                summary: A logo
                value:
                  image: https://amnt.io/brand-kit/amnt-icon-512.png
                  background: transparent
      responses:
        '200':
          description: The SVG.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SvgResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          description: Not enough Balance. Nothing was charged.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          $ref: '#/components/responses/Unprocessable'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
    SvgOptions:
      type: object
      properties:
        detail:
          type: string
          enum:
          - low
          - medium
          - high
          default: medium
          description: low = bold and simple, medium = clean, high = closest to the picture.
        background:
          type: string
          enum:
          - transparent
          - keep
          description: Default transparent for generate, keep for vectorize.
        mode:
          type: string
          enum:
          - stacked
          - cutout
          default: stacked
          description: cutout = no overlapping shapes (Figma, cutting machines).
        colors:
          type: integer
          minimum: 2
          maximum: 64
        palette:
          type: array
          items:
            type: string
            pattern: ^#[0-9a-fA-F]{6}$
          description: Snap every colour to these.
        layers:
          type: string
          enum:
          - color
          - objects
          default: color
          description: objects = each thing as its own named, movable group.
        objects:
          type: array
          items:
            type: string
          maxItems: 4
        formats:
          type: array
          items:
            type: string
            enum:
            - svg
            - png
            - pdf
            - eps
            - dxf
            - icons
            - small
            - webp
            - jpg
        png_width:
          type: integer
          minimum: 16
          maximum: 8192
        model:
          type: string
          enum:
          - amnt-auto
          - amnt-svg-lite-1.1
          - amnt-svg-1.1
          - amnt-svg-pro-1.1
          - amnt-trace-1.2
          - amnt-vectorize-1.1
          description: 'The AMNT model. Leave it out for AMNT Draw 1.2, the default. Old ids (amnt-svg-auto, amnt-svg-1 …) still work. amnt-auto AMNT Auto ($0.01-$0.25, picks per request) · amnt-svg-lite-1.1 AMNT SVG Lite 1.1 ($0.01: simple icons, charts, patterns) · amnt-svg-1.1 AMNT SVG 1.1 ($0.03: icons, logos, lettering) · amnt-svg-pro-1.1 AMNT SVG Pro 1.1 ($0.25: characters, detailed art) · amnt-trace-1.2 AMNT Trace 1.2 ($0.05: pixel art, scenes, illustrations) · amnt-vectorize-1.1 AMNT Vectorize 1.1 (vectorize only: $0.08 a logo or icon as clean code, else $0.01).'
    SvgVectorizeRequest:
      allOf:
      - $ref: '#/components/schemas/SvgOptions'
      - type: object
        required:
        - image
        properties:
          image:
            type: string
            description: 'https URL, data: URI or base64. 10 MB at most.'
    SvgGenerateRequest:
      allOf:
      - $ref: '#/components/schemas/SvgOptions'
      - type: object
        required:
        - prompt
        properties:
          prompt:
            type: string
            minLength: 3
            maxLength: 2000
          style:
            type: string
            enum:
            - auto
            - flat
            - icon
            - logo
            - illustration
            - pixel
            default: auto
          aspect:
            type: string
            default: '1:1'
            description: '"auto", a preset (1:1, 4:5, 3:4, 2:3, 9:16, 1:2, 5:4, 4:3, 3:2, 16:9, 2:1) or any W:H up to 3:1. Same price in every shape.'
    SvgResponse:
      type: object
      properties:
        id:
          type: string
        svg:
          type: string
        url:
          type:
          - string
          - 'null'
        files:
          type: object
          additionalProperties:
            type: string
        width:
          type: integer
        height:
          type: integer
        paths:
          type: integer
        colors:
          type: array
          items:
            type: string
        bytes:
          type: integer
        layers:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              paths:
                type: integer
              colors:
                type: array
                items:
                  type: string
        score:
          type:
          - object
          - 'null'
          description: Quality score; null when there is nothing to compare against.
          properties:
            fidelity:
              type: number
            edge:
              type: number
            holes:
              type: number
            spill:
              type: number
            aspectOk:
              type: boolean
        model:
          type: string
          description: The AMNT SVG model asked for.
        ran:
          type: string
          description: The tier that made it (Auto picks one).
        notes:
          type: array
          items:
            type: string
        price_usd:
          type: number
        balance_usd:
          type: number
        ms:
          type: integer
  responses:
    RateLimited:
      description: More than 60 requests in one minute on this key.
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Malformed request. Nothing was charged.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: Something broke on our side. Nothing was charged.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unprocessable:
      description: A value broke one of the agent's declared rules. Nothing was charged.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing, invalid or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'An Amnt API key: `Authorization: Bearer amnt_sk_...`. Create one in Settings → API Keys.'
externalDocs:
  description: Developer docs
  url: https://docs.amnt.io/docs/developers