POST /v1/filter

Image Filter API

Apply classic filters, color adjustments, and social-media-inspired looks with one filter pipeline.

Key Operations

grayscale

sepia

blur

sharpen

brightness

contrast

saturation

pixelate

cinematic

viral_glow

warm_film

vhs_glitch

golden_hour

Use cases

  • Preset-based media styling

  • Brand-aligned visual edits

  • Bulk post-processing

Async Job Lifecycle

All ImageHQ processing endpoints are asynchronous. Upon a successful POST, you receive a 202 Acceptedresponse with a job_id. Poll the status endpoint until the state reaches succeeded.

Request Example

import requests

url = "https://api.imagehq.io/v1/filter"
payload = {
  "filters": [
    {
      "intensity": 75,
      "type": "viral_glow"
    }
  ],
  "options": {
    "quality": 92,
    "strip_metadata": True
  },
  "output_format": "jpg",
  "tool_slug": "viral-glow-filter"
}
files = [("files[]", open("image.png", "rb"))]
data = {"request": json.dumps(payload)}

response = requests.post(url, files=files, data=data)
print(response.json())

Successful Response

{
  "completed": {
    "download_url": "/v1/jobs/job_123/download",
    "expires_at": "2026-05-03T00:00:00Z",
    "id": "job_123",
    "inputs": [
      {
        "filename": "input.png",
        "format": "png",
        "mime_type": "image/png",
        "size_bytes": 420122
      }
    ],
    "outputs": [
      {
        "filename": "output.jpg",
        "format": "jpg",
        "id": "0",
        "mime_type": "image/jpeg",
        "size_bytes": 161002
      }
    ],
    "progress": 100,
    "retention_policy": {
      "clamp": true,
      "ttl_hours": 24
    },
    "stages": [
      {
        "name": "queued",
        "progress": 100,
        "status": "succeeded"
      },
      {
        "name": "processing",
        "progress": 100,
        "status": "succeeded"
      }
    ],
    "status": "succeeded",
    "warnings": []
  },
  "queued": {
    "client_reference_id": "example-123",
    "created_at": "2026-05-02T00:00:00Z",
    "current_stage": "queued",
    "expires_at": "2026-05-03T00:00:00Z",
    "id": "job_123",
    "operation": "filter",
    "poll_url": "/v1/jobs/job_123",
    "progress": 0,
    "status": "queued",
    "tool_slug": "png-to-jpg"
  }
}

Frequently Asked Questions

Can I apply multiple filters in one request?

Yes. Filters are applied sequentially in the order you provide.

Do preset filters use AI models?

No. The current filter system is non-AI and built from deterministic image operations.

Are the social presets exact copies?

No. They are inspired by common aesthetics and intentionally generic.


Related APIs

compose APIenhance APIpipeline APIbatch API

ImageHQ

Smart image tools for conversion, compression, and automation.

Tools

Compress ImageResize ImagePNG to JPGFiltersEnhance

© 2026 ImageHQ. All rights reserved.