POST /v1/transform

Image Transform API

Resize, crop, rotate, flip, trim, pad, deskew, and adjust image geometry.

Opérations clés

resize

crop

rotate

flip

mirror

deskew

straighten

trim

pad

extend_canvas

change_dimensions

Cas d’utilisation

  • Responsive asset generation

  • Thumbnail pipelines

  • Image normalization for ML inputs

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/transform"
payload = {
  "operations": [
    {
      "mode": "fit",
      "type": "resize",
      "width": 1200
    }
  ],
  "output_format": "same_as_input",
  "tool_slug": "resize-image"
}
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": "transform",
    "poll_url": "/v1/jobs/job_123",
    "progress": 0,
    "status": "queued",
    "tool_slug": "png-to-jpg"
  }
}

Questions fréquentes

Can I chain multiple transforms?

Yes. Transform requests support ordered operations in one job.

How are invalid coordinates handled?

The backend validates operation payloads before queueing a job.

Can transform keep original format?

Use output_format as same_as_input to preserve source format where possible.


API associées

API convertAPI filterAPI 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.