For AI agents: this page is also available as Markdown at https://docs.refabric.com/task-api-reference/image.rotate_views.md, and the index of every page is https://docs.refabric.com/llms.txt.

Image editing

Rotate an image to its other views

Turn the subject of an image around: its back, left and right views, keeping its medium and style. Delivered as up to three image files, in that order.

Endpoint: POST https://api.refabric.com/v1/tasks/image.rotate_viewsTask: image.rotate_viewsScope: tasks:runCategory: Image editing

Quick start

import os
import time
import requests

headers = {"Authorization": f"Key {os.environ['REFABRIC_API_KEY']}"}

job = requests.post(
    "https://api.refabric.com/v1/tasks/image.rotate_views",
    headers=headers,
    json={
        "image": "art:5c8f01",
    },
).json()
print(job["job_id"])

while True:
    status = requests.get(job["status_url"], headers=headers).json()
    if status["lifecycle"] == "terminal":
        break
    time.sleep(5)

print(requests.get(job["result_url"], headers=headers).json())

cURL waits for the result with Prefer: wait; when the job outlives the wait, it answers 202 with the job's URLs.

Input schema

  • stringrequired

    The image to turn, as one string: a URL, a file from an earlier result (art:… or its url) or an upload (file:…). Its subject, medium and style are kept. If it is one of your files placed on a design, the views are filed there too.

    pattern: ^(https://|art:|file:).+$

    Example: art:5c8f01

Output schema

  • array<object>optional

    Up to three image/* files, always in this order: the back (turned 180°), the left (+90°) and the right (−90°) of the image's subject. A view that could not be made is left out and named in summary.warnings; you are charged only for the views delivered.

    at most 3 items

  • objectoptional

    How many of the three views were made, and which are missing.

Required-fields example

{
  "image": "art:5c8f01"
}

Full example

{
  "image": "art:5c8f01"
}

Response example

{
  "job_id": "7a1c2e3f00004000800000000000001b",
  "lifecycle": "queued",
  "status_url": "http://v3-api.refabric.com/v1/jobs/7a1c2e3f00004000800000000000001b",
  "result_url": "http://v3-api.refabric.com/v1/jobs/7a1c2e3f00004000800000000000001b/result",
  "cancel_url": "http://v3-api.refabric.com/v1/jobs/7a1c2e3f00004000800000000000001b/cancel"
}

Result example

{
  "job_id": "7a1c2e3f00004000800000000000001b",
  "files": [
    {
      "file": "art:5c8f02",
      "url": "https://files.example.com/image.rotate_views/1.png",
      "media_type": "image/png",
      "task": "image.rotate_views",
      "job_id": "7a1c2e3f00004000800000000000001b",
      "created_at": "2026-10-01T09:20:31Z"
    },
    {
      "file": "art:5c8f04",
      "url": "https://files.example.com/image.rotate_views/2.png",
      "media_type": "image/png",
      "task": "image.rotate_views",
      "job_id": "7a1c2e3f00004000800000000000001b",
      "created_at": "2026-10-01T09:20:33Z"
    }
  ],
  "has_more": false,
  "summary": {
    "requested": 3,
    "delivered": 2,
    "warnings": [
      {
        "code": "output_not_produced",
        "field": "left",
        "message": "The left view could not be made."
      }
    ]
  }
}

The files are always back, left, right; here the left view could not be made, so the files are the back and the right, and the warning names the missing view.

Send an image and get its subject from the other sides: the back, the left and the right. The medium and the style of your image are kept. A view that cannot be made is left out and not charged.

Built for

  • Back and side views for a tech pack
  • A turnaround of a design
  • The sides of a garment you only have from the front

What you get

  • Up to three images: the back, the left and the right view.
  • A summary that counts the views made and names each one that is missing.

Specs

Input formatsImages, each one string: a URL, an upload (file:…) or a file from an earlier result (art:…). Upload types and sizes: GET /v1/meta limits.upload.
Input countimage: one
Output formatFiles: each one line with its url and its media_type, in the job's result.
Outputs per jobUp to three image files, one per view made.

Choosing a task

Errors

Good to know

    Pricing: Estimate a request before you run it, or see the price of each option.

    For agents and code generation

    Schema changes follow Versioning.