Files
piNail/SETHPC_LOGO_GENERATOR_API.md

2.8 KiB

SETHPC Logo Generator API

Public API endpoint for generating SethPC/Sethflix-style logos as SVG or PNG.

  • Base URL: https://gallery.sethpc.xyz
  • Endpoint: POST /api/logo
  • Content types: application/json or application/x-www-form-urlencoded

Parameters

Required:

  • text - main logo text

Optional:

  • color - hex color (#RRGGBB or RRGGBB), default #D35400
  • mode - standard or lockup, default standard
  • shape - normal or square, default normal
  • subtext - required when mode=lockup; automatically uppercased
  • format - json, svg, or png, default json

Behavior

  • All generated logos are saved under:
    • /tank/SethFlix Visual Assets/UserGen/
  • Emoji and unsupported glyphs are omitted.
  • lockup mode generates:
    • main logo
    • full-width horizontal line
    • sans-serif uppercase subtext
    • full-width horizontal line
  • shape=square pads the shorter side so final width and height are equal.

Response Modes

1) format=json (default)

Returns metadata and links to the generated asset.

Example:

curl -sS -X POST "https://gallery.sethpc.xyz/api/logo" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "SETHPC",
    "mode": "lockup",
    "shape": "square",
    "subtext": "gallery expo",
    "color": "#D35400",
    "format": "json"
  }'

Sample JSON response:

{
  "ok": true,
  "text": "SETHPC",
  "subtext": "GALLERY EXPO",
  "mode": "lockup",
  "shape": "square",
  "color": "#D35400",
  "skipped": [],
  "asset_path": "UserGen/sethpc_20260311_123456_000001.svg",
  "svg_url": "/asset/UserGen/sethpc_20260311_123456_000001.svg",
  "png_url": "/asset-png/UserGen/sethpc_20260311_123456_000001.svg",
  "svg_download_url": "/asset/UserGen/sethpc_20260311_123456_000001.svg",
  "png_download_url": "/asset-png/UserGen/sethpc_20260311_123456_000001.svg"
}

2) format=svg

Returns generated SVG file directly as attachment.

curl -L -X POST "https://gallery.sethpc.xyz/api/logo" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "SETHPC.XYZ",
    "shape": "square",
    "color": "#D35400",
    "format": "svg"
  }' \
  -o "sethpc.svg"

3) format=png

Returns generated PNG directly as attachment.

curl -L -X POST "https://gallery.sethpc.xyz/api/logo" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "SETHPC",
    "mode": "lockup",
    "shape": "square",
    "subtext": "GALLERY EXPO",
    "format": "png"
  }' \
  -o "sethpc.png"

Error Responses

Common 400 errors:

  • missing text
  • invalid mode (must be standard or lockup)
  • invalid shape (must be normal or square)
  • invalid format (must be json, svg, or png)
  • missing subtext when mode=lockup

Error shape:

{
  "ok": false,
  "error": "text is required."
}