Skip to content

Pixelcut Looping Video

Integrate

Model id pixelcut/looping-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/pixelcut/looping-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $1.60 1,600 API credits Run it on this page

Get API key
Pixelcut Image to Video 5–15 sup to 1080p #image-to-video#looping#e-commerce#product

Turns a product photo into a looping clip that starts and ends on the source image, with subtle motion or a 360° spin

Pixelcut · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

0 / 4000

Optional motion instructions for creative direction. The camera remains fixed in all cases.

•required image_url
Drop a file, or

Source image for both the opening and closing video frames, in JPEG, PNG, or WebP format.

resolution default 1080p

Resolution of the generated output.

default 5

Length of the video, measured in seconds.

Advanced motion · include_audio
motion default subtle

Choose the motion behavior: 'spin' returns to the source frame after a full 360° turn, whereas 'subtle' adds gentle movement with an ambient character.

POST /run/pixelcut/looping-video?wait=20 quote → $1.60
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/pixelcut/looping-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Pixelcut Looping Video

Creates a video that begins and ends on the input image, so it loops. `motion` is either subtle for gentle ambient movement or spin for one full revolution. Duration runs from 5 to 15 seconds, resolution is 480p, 768p or 1080p, and `prompt` (up to 4000 characters) is optional direction. The loop is silent unless `include_audio` is enabled.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
image_urlrequired image
Typeurl · image
Source image for both the opening and closing video frames, in JPEG, PNG, or WebP format.
promptoptional
Typestring
Default
≤ 4,000 characters
Optional motion instructions for creative direction. The camera remains fixed in all cases.
durationoptional
Typeinteger
Default5
5 – 15
Length of the video, measured in seconds.
resolutionoptional
Typeenum
Default1080p
480p768p1080p
Resolution of the generated output.
motionoptional
Typeenum
Defaultsubtle
subtlespin
Choose the motion behavior: 'spin' returns to the source frame after a full 360° turn, whereas 'subtle' adds gentle movement with an ambient character.
include_audiooptional
Typeboolean
Defaultfalse
Audio retention for the loop: enable it to keep the generated track; otherwise, the default is a silent loop.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "pixelcut/looping-video",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 1600,
    "usd": "1.60",
    "charged": 1600,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size} | nullMP4 loop whose opening and closing frames match the input image.

More models: Image to Video

For AI agents: this page as Markdown is at https://doitong.com/en-US/developers/models/pixelcut/looping-video.md. All models and guides: https://doitong.com/developers/llms.txt