YOUR COLORS. YOUR LHT LOGO.

Logo API

Create a high-resolution LHT logo from a simple URL. Choose a style, add your colors and set the size - ready for your website, app or next design.

Create your own logo

The public endpoint returns a transparent PNG or lossless WebP. PNG is the default. No account, API key or editor is needed. Logo-only images are square. Add a wordmark for a single-line logo and text image with automatic height. Original proportions are always preserved.

  1. Start with https://lhtpics.com/api/logo and choose one flag: ?solid, ?outline, ?shaded or ?two-tone.
  2. Add &color1=e8c047, replacing the value with your six-digit hex color. Leave out the #.
  3. Optionally add &color2=d99a28. This creates a left-to-right gradient, except on Two-tone where it colors the second element.
  4. Add &size=2048 for a 2048 × 2048px image. Open the URL and save the PNG, or use the URL as an image source.
https://lhtpics.com/api/logo?outline&color1=ffffff&color2=cccccc&size=2048

Open this 2048px example (opens in a new tab)

Four logo variants

Solid LHT logo. A clean, single-color LHT logo.
Solid

A clean, single-color LHT logo.

Open solid example (opens in a new tab)
Outline LHT logo. An outlined logo with a left-to-right gradient.
Outline

An outlined logo with a left-to-right gradient.

Open outline example (opens in a new tab)
Shaded LHT logo. The shaded variant keeps its depth while applying your colors.
Shaded

The shaded variant keeps its depth while applying your colors.

Open shaded example (opens in a new tab)
Two-tone LHT logo. Primary yellow on the first element and golden orange on the second.
Two-tone

Primary yellow on the first element and golden orange on the second.

Open two-tone example (opens in a new tab)

Parameters and defaults

solid | outline | shaded | two-tone
Choose one bare flag, such as ?outline, not ?variant=outline. Defaults to Solid.
color1
Six hex digits without #, case-insensitive. Defaults to LHT yellow, e8c047.
color2
Optional second six-digit hex color. Omit it for a single color. Solid, Outline and Shaded fade from color1 on the left to color2 on the right. Two-tone applies the two colors to separate elements. Shaded and Two-tone retain their original shading.
size
An integer from 64 to 2048 without a wordmark, or 64 to 4096 with an LHT or LuckyHash wordmark. Defaults to 2048 for both. Sets the width in pixels. Height matches the width for a logo alone, or is calculated automatically when a wordmark is included. The artwork is raster-based; SVG output is not available.

Add an LHT or LuckyHash wordmark

Add &wordmark=LHT or &wordmark=LuckyHash to place bold text to the right of the logo on one line. These values are case-insensitive; the rendered text always uses LHT or LuckyHash. With a wordmark, size sets the width of the complete image, including both logo and text; its height is calculated automatically.

Set &wordmarkColor=e8c047 for a LuckyHash yellow wordmark, or use any six-digit hex color without #. The wordmark uses a solid color only and defaults to color1. Logo colors and gradients are set separately using color1 and color2.

https://lhtpics.com/api/logo?solid&color1=e8c047&wordmark=LuckyHash&wordmarkColor=e8c047&size=2048

Open the LuckyHash wordmark example (opens in a new tab) · Open the LHT wordmark example (opens in a new tab)

For a larger wordmark image, use &size=4096. Open a 4096px-wide example (opens in a new tab).

Choose PNG or WebP

Add &format=webp for lossless WebP, or &format=png for PNG. Both preserve transparency and work with every logo style and wordmark. Format values are case-insensitive. If omitted, the API returns PNG.

The response content type and randomly suffixed filename match your chosen format. Each format is cached separately and uses the same rate limits.

Open a WebP example (opens in a new tab)

Use it on a website or in a script

Use a normal HTML image with meaningful alternative text. In HTML attributes, write query separators as &.

<img src="https://lhtpics.com/api/logo?solid&amp;color1=e8c047&amp;size=512" width="256" height="256" alt="LHT logo">

Download from a terminal by quoting the URL so the shell does not interpret its ampersands:

curl --fail 'https://lhtpics.com/api/logo?two-tone&color1=e8c047&color2=d99a28&size=2048' -o lht-logo.png

Responses and caching

GET returns image/png or image/webp, depending on format. HEAD returns headers without generating an image body. Cross-origin access is allowed without credentials.

  • 200: success.
  • 304: unchanged, when you send a matching If-None-Match ETag.
  • 400: invalid or unknown parameters, with a JSON error message.
  • 405: unsupported HTTP method.
  • 429: request or rendering limit reached; wait for the number of seconds in Retry-After.
  • 503: image generation is temporarily unavailable, with a JSON error message.

Images have a public cache lifetime of one day and support ETag revalidation. Reuse downloaded images where possible rather than fetching the same logo repeatedly.

Rate limits and fair use

The API enforces 10 requests per rolling minute per IP address across all logo options. This includes cached images, invalid parameters, HEAD and conditional requests that reach our server. The JSON help endpoint is excluded. Additional Cloudflare burst limits may apply.

Download a logo once and reuse it on your website or in your app. Cache images by their complete URL, including colors, size and wordmark options. If you generate a batch, send requests sequentially and spread them out rather than requesting every image at the same time.

To protect the service for everyone, uncached generation is also limited to 100 renders per rolling minute globally, with two renders at a time. Identical images are cached on the server for up to one day, subject to cache capacity, and cache hits do not use rendering capacity. If you receive HTTP 429 Too Many Requests, pause and follow the Retry-After header when provided. Otherwise, wait at least a minute before retrying. Do not repeatedly retry failed requests without a delay.

For developers and AI agents

All documentation on this page is included in the server-rendered HTML and can be read without JavaScript, cookies or signing in. Read the machine-readable JSON reference at /api/logo/help for parameters, defaults, response codes and complete example URLs.

Use only the documented flags and parameters. Download successful responses in the selected PNG or WebP format and check HTTP status codes before using the response as an image.

Want to create a complete design around your logo? Open the editor or browse templates. Use of the artwork remains subject to our terms of use.

LHTpics.
Create an image

Accept optional browser storage to recover designs, photos and recent changes after reloading, and remember your light/dark appearance, drag and snap preferences. Your designs stay on your device.

Refusing removes saved browser copies and turns off future browser saves in your open tabs. Your current canvas stays open, and you can still download an image or editable design file. Reloading starts a fresh canvas. Download anything you want to keep before leaving.

We keep a necessary cookie for 180 days to remember your choice. This cookie is not used for tracking. You can change your choice here at any time. Logo APIPrivacy policy.