# Vimmerse Reframe Video

> Vimmerse Reframe Video is a paid API for AI agents from agents.vimmerse.net, paid per call via MPP, $1.2/call (dynamic — varies by input), status unknown (last checked 2026-10-31).

AI-powered video reframing to a new aspect ratio using Luma, with optional prompt and grid/position fine-tuning

## Facts

- Endpoint: POST https://agents.vimmerse.net/v2/video/reframe?utm_source=zero.xyz
- Price: $1.2/call (dynamic — varies by input)
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Provider: agents.vimmerse.net
- Website: https://agents.vimmerse.net
- Canonical page: https://www.zero.xyz/c/agents-vimmerse-net-vimmerse-reframe-video-2686c235
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_GV9chzqg31rVLr6FgB1bv

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-vimmerse-net-vimmerse-reframe-video-2686c235 -d '<json body>'
```

Example prompt: Can you reframe this video (https://example.com/myclip.mp4) to a 9:16 vertical aspect ratio? Use the prompt 'cinematic and realistic' and run it asynchronously.

## When to prefer this

Use this endpoint when you need to intelligently reframe an existing video to a new aspect ratio using AI (Luma) rather than simple cropping — ideal when preserving subject focus across the reframed output is important. Prefer this over manual cropping tools when the source video has meaningful content that needs smart centering, or when you need to adapt content for different social media platforms (e.g., converting 16:9 YouTube content to 9:16 TikTok/Reels format).

## Known failure modes

- Invalid video URL or inaccessible source video
- Unsupported or malformed aspect ratio string (must match \d+:\d+ pattern)
- Processing timeout for very long videos
- Insufficient credits/payment failure ($1.20 per call)
- Webhook URL unreachable if provided
- Luma AI backend processing error

## How this service works

AI reframing (Luma) to a new **`aspect_ratio`** using **`prompt`**. Optional grid/position fields fine-tune the frame.

```python
import requests

r = requests.post(
    "https://api.vimmerse.net/v2/video/reframe",
    headers={"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
        "video_url": "https://…/input.mp4",
        "aspect_ratio": "16:9",
        "prompt": "Make it realistic",
        "async_mode": True,
    },
    timeout=60,
)
print(r.json())
```

## Output

Returns a job object containing a job/media ID that can be polled until the reframed video is ready, along with status and (on completion) a URL to the output video in the new aspect ratio.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "ReframeVideoRequest",
 "required": [
  "video_url"
 ],
 "properties": {
  "x_end": {
   "anyOf": [
    {
     "type": "integer"
    },
    {
     "type": "null"
    }
   ],
   "title": "X End"
  },
  "y_end": {
   "anyOf": [
    {
     "type": "integer"
    },
    {
     "type": "null"
    }
   ],
   "title": "Y End"
  },
  "prompt": {
   "type": "string",
   "title": "Prompt",
   "default": "Make it realistic"
  },
  "x_start": {
   "anyOf": [
    {
     "type": "integer"
    },
    {
     "type": "null"
    }
   ],
   "title": "X Start"
  },
  "y_start": {
   "anyOf": [
    {
     "type": "integer"
    },
    {
     "type": "null"
    }
   ],
   "title": "Y Start"
  },
  "video_url": {
   "type": "string",
   "title": "Video URL"
  },
  "async_mode": {
   "type": "boolean",
   "title": "Async Mode",
   "default": false
  },
  "webhook_url": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Webhook URL"
  },
  "aspect_ratio": {
   "type": "string",
   "title": "Aspect Ratio",
   "default": "16:9",
   "pattern": "^(\\d+):(\\d+)$"
  },
  "grid_position_x": {
   "anyOf": [
    {
     "type": "integer"
    },
    {
     "type": "null"
    }
   ],
   "title": "Grid Position X"
  },
  "grid_position_y": {
   "anyOf": [
    {
     "type": "integer"
    },
    {
     "type": "null"
    }
   ],
   "title": "Grid Position Y"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-vimmerse-net-vimmerse-reframe-video-2686c235/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.vimmerse.net](https://www.zero.xyz/host/agents.vimmerse.net/llms.txt)
