API Snap · Capability

API Snap Content Generation

Workflow that combines API Snap's visual and document generation endpoints (QR code, screenshot, image resize, PDF, Markdown, placeholder, URL metadata) for marketing, content management, and document automation pipelines. Used by content engineers, growth teams, and CMS platforms to produce link previews, visual assets, PDFs, and rendered HTML on demand.

Run with Naftiko API SnapContent GenerationQR CodesScreenshotsImage ProcessingPDF GenerationMarkdownURL Metadata

What You Can Do

POST
Createqrcode — Generate a QR code
/v1/qr-codes
POST
Createscreenshot — Capture a webpage screenshot
/v1/screenshots
POST
Resizeimage — Resize and convert an image
/v1/images
POST
Createplaceholder — Generate an SVG placeholder image
/v1/images
POST
Createpdf — Render HTML as PDF
/v1/documents
POST
Rendermarkdown — Convert Markdown to HTML
/v1/documents
GET
Geturlmetadata — Extract URL metadata
/v1/url-metadata

MCP Tools

generate-qr-code

Generate a QR code encoding the supplied text or URL.

read-only
capture-screenshot

Capture a screenshot of a webpage.

read-only
resize-image

Resize and reformat an image.

generate-placeholder

Generate an SVG placeholder image.

read-only
html-to-pdf

Render HTML content as a PDF document.

markdown-to-html

Convert Markdown content into HTML.

read-only
get-url-metadata

Extract Open Graph and metadata for a URL.

read-only

Who This Is For

👤
Content Engineer
Engineer building content publishing, link previews, and visual assets
👤
Growth Engineer
Engineer building marketing assets, QR campaigns, and landing-page automation
👤
CMS Integrator
Developer integrating Markdown rendering, PDF generation, and screenshots into a CMS

APIs Used

api-snap

Capability Spec

Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: API Snap Content Generation
  description: >-
    Workflow that combines API Snap's visual and document generation endpoints
    (QR code, screenshot, image resize, PDF, Markdown, placeholder, URL
    metadata) for marketing, content management, and document automation
    pipelines. Used by content engineers, growth teams, and CMS platforms to
    produce link previews, visual assets, PDFs, and rendered HTML on demand.
  tags:
    - API Snap
    - Content Generation
    - QR Codes
    - Screenshots
    - Image Processing
    - PDF Generation
    - Markdown
    - URL Metadata
  created: '2026-05-06'
  modified: '2026-05-06'
binds:
  - namespace: env
    keys:
      API_SNAP_API_KEY: API_SNAP_API_KEY
capability:
  consumes:
    - import: api-snap
      location: ./shared/api-snap.yaml
  exposes:
    - type: rest
      port: 7081
      namespace: content-generation-api
      description: Unified REST API for visual and document content generation.
      resources:
        - path: /v1/qr-codes
          name: qr-codes
          description: QR code generation
          operations:
            - method: POST
              name: createQrCode
              description: Generate a QR code
              call: api-snap.generateQrCode
              with:
                data: rest.data
                size: rest.size
                format: rest.format
                dark: rest.dark
                light: rest.light
              outputParameters:
                - type: object
                  mapping: '$.'
        - path: /v1/screenshots
          name: screenshots
          description: Webpage screenshot capture
          operations:
            - method: POST
              name: createScreenshot
              description: Capture a webpage screenshot
              call: api-snap.captureScreenshot
              with:
                url: rest.url
                width: rest.width
                height: rest.height
                format: rest.format
                full_page: rest.full_page
              outputParameters:
                - type: object
                  mapping: '$.'
        - path: /v1/images
          name: images
          description: Image resize and placeholder generation
          operations:
            - method: POST
              name: resizeImage
              description: Resize and convert an image
              call: api-snap.resizeImage
              with:
                image: rest.image
                url: rest.url
                width: rest.width
                height: rest.height
                format: rest.format
                quality: rest.quality
                fit: rest.fit
              outputParameters:
                - type: object
                  mapping: '$.'
            - method: POST
              name: createPlaceholder
              description: Generate an SVG placeholder image
              call: api-snap.generatePlaceholderImage
              with:
                w: rest.w
                h: rest.h
                bg: rest.bg
                fg: rest.fg
                text: rest.text
              outputParameters:
                - type: object
                  mapping: '$.'
        - path: /v1/documents
          name: documents
          description: PDF and Markdown rendering
          operations:
            - method: POST
              name: createPdf
              description: Render HTML as PDF
              call: api-snap.htmlToPdf
              with:
                html: rest.html
                title: rest.title
              outputParameters:
                - type: object
                  mapping: '$.'
            - method: POST
              name: renderMarkdown
              description: Convert Markdown to HTML
              call: api-snap.markdownToHtml
              with:
                markdown: rest.markdown
                styled: rest.styled
              outputParameters:
                - type: object
                  mapping: '$.'
        - path: /v1/url-metadata
          name: url-metadata
          description: URL metadata and Open Graph extraction
          operations:
            - method: GET
              name: getUrlMetadata
              description: Extract URL metadata
              call: api-snap.extractUrlMetadata
              with:
                url: rest.url
              outputParameters:
                - type: object
                  mapping: '$.'
    - type: mcp
      port: 7082
      namespace: content-generation-mcp
      transport: http
      description: MCP server for AI-assisted visual and document content generation.
      tools:
        - name: generate-qr-code
          description: Generate a QR code encoding the supplied text or URL.
          hints:
            readOnly: true
            openWorld: false
          call: api-snap.generateQrCode
          with:
            data: tools.data
            size: tools.size
            format: tools.format
            dark: tools.dark
            light: tools.light
          outputParameters:
            - type: object
              mapping: '$.'
        - name: capture-screenshot
          description: Capture a screenshot of a webpage.
          hints:
            readOnly: true
            openWorld: true
          call: api-snap.captureScreenshot
          with:
            url: tools.url
            width: tools.width
            height: tools.height
            format: tools.format
            full_page: tools.full_page
          outputParameters:
            - type: object
              mapping: '$.'
        - name: resize-image
          description: Resize and reformat an image.
          hints:
            readOnly: false
            openWorld: false
          call: api-snap.resizeImage
          with:
            image: tools.image
            url: tools.url
            width: tools.width
            height: tools.height
            format: tools.format
            quality: tools.quality
            fit: tools.fit
          outputParameters:
            - type: object
              mapping: '$.'
        - name: generate-placeholder
          description: Generate an SVG placeholder image.
          hints:
            readOnly: true
            openWorld: false
          call: api-snap.generatePlaceholderImage
          with:
            w: tools.w
            h: tools.h
            bg: tools.bg
            fg: tools.fg
            text: tools.text
          outputParameters:
            - type: object
              mapping: '$.'
        - name: html-to-pdf
          description: Render HTML content as a PDF document.
          hints:
            readOnly: false
            openWorld: false
          call: api-snap.htmlToPdf
          with:
            html: tools.html
            title: tools.title
          outputParameters:
            - type: object
              mapping: '$.'
        - name: markdown-to-html
          description: Convert Markdown content into HTML.
          hints:
            readOnly: true
            openWorld: false
          call: api-snap.markdownToHtml
          with:
            markdown: tools.markdown
            styled: tools.styled
          outputParameters:
            - type: object
              mapping: '$.'
        - name: get-url-metadata
          description: Extract Open Graph and metadata for a URL.
          hints:
            readOnly: true
            openWorld: true
          call: api-snap.extractUrlMetadata
          with:
            url: tools.url
          outputParameters:
            - type: object
              mapping: '$.'