POST /v1/optimize

Image Optimization API

Compress images, reduce file size, convert to web formats, and target specific output sizes.

Opérations clés

compress

optimize

reduce_to_target_size

convert_to_webp

convert_to_avif

Cas d’utilisation

  • CDN optimization

  • E-commerce media compression

  • Bandwidth reduction

Cycle de vie de la tâche async

Tous les endpoints de traitement ImageHQ sont asynchrones. Après un POST réussi, vous recevez une réponse 202 Acceptedavec un job_id. Interrogez l’endpoint de statut jusqu’à ce que l’état atteigne succeeded.

Exemple de requête

import requests

url = "https://api.imagehq.io/v1/optimize"
payload = {
  "input_format": "png",
  "operation": "compress",
  "options": {
    "quality": 85,
    "strip_metadata": True
  },
  "output_format": "same_as_input",
  "tool_slug": "compress-png"
}
files = [("files[]", open("image.png", "rb"))]
data = {"request": json.dumps(payload)}

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

Réponse réussie

{
  "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": "optimize",
    "poll_url": "/v1/jobs/job_123",
    "progress": 0,
    "status": "queued",
    "tool_slug": "png-to-jpg"
  }
}

Questions fréquentes

Can I target smaller file size?

Yes, optimize jobs can be configured to reduce to target size where practical.

Does optimization remove metadata?

You can control metadata stripping through output options.

Is optimize separate from convert?

Yes. Optimize focuses on quality/size controls while convert focuses on format changes.


API associées

API convertAPI transformAPI pipelineAPI batch

ImageHQ

Outils d’image intelligents pour la conversion, la compression et l’automatisation.

Outils

Compresser une imageRedimensionner une imagePNG vers JPGFiltresAméliorer

© 2026 ImageHQ. Tous droits réservés.