# Vimmerse Reference to Video

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

Generates a video clip from one or more reference images and a text prompt, with selectable AI model and duration.

## Facts

- Endpoint: POST https://agents.vimmerse.net/v2/video/reference-to-video?utm_source=zero.xyz
- Price: $2.4/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-reference-to-video-bdbf8859
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QcPObMVcw0I4glWBTd-ik

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-reference-to-video-bdbf8859 -d '<json body>'
```

Example prompt: Take this front-facing product image (https://example.com/product-front.png) and this side-angle image (https://example.com/product-side.png) and generate a 10-second 16:9 video using KlingT3 with the prompt 'the product slowly rotates on a sleek dark surface'.

## When to prefer this

Choose this endpoint when you need to generate a video grounded in one or more specific reference images rather than purely from text. It is ideal when visual consistency with existing assets (products, characters, scenes) is required. Use it when you want to choose a specific underlying video AI model (e.g., KlingT3, VeoReference, PikaScenes) and control duration and aspect ratio. Prefer this over text-to-video when the output must reflect the appearance of real images.

## Known failure modes

- No image_urls provided — request rejected with validation error
- Invalid or inaccessible image URL — fetch failure or timeout
- Unsupported option value — model not recognized
- Duration out of range (< 1 or > 30 seconds) — validation error
- Insufficient credits — payment/authorization failure
- Timeout during video generation for long clips or complex models
- Invalid aspect_ratio format — pattern mismatch error

## How this service works

Generates video from **`image_urls`** (at least one) and **`prompt`**.

**`option`:** `AutoR`, `KlingT3`, `HappyHorse`, `Grok`, `SeedanceFast`, `VeoReference`, `ViduReference`, `HeygenAgent`, `PikaScenes`, `MinimaxHailuo`

**`duration`:** seconds (1–30).

**`elements`:** optional. A string is one image URL (existing clients). A group is an array of 1 to 4 public image URLs for one subject. Index 0 is the frontal image. Indexes 1–3 are other angles.

```json
"elements": [
  "https://example.com/hero-front.png",
  ["https://example.com/hero-front.png", "https://example.com/hero-side.png"]
]
```

## Output

Returns a video generation result, which may include a media object ID, status, and video URL depending on async_mode. In synchronous mode the response contains the completed video data; in async mode you receive a job ID to poll until the video is ready.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "ReferenceToVideoRequest",
 "required": [
  "image_urls"
 ],
 "properties": {
  "option": {
   "type": "string",
   "title": "Video generation tool",
   "default": "KlingT3"
  },
  "prompt": {
   "type": "string",
   "title": "Prompt",
   "default": ""
  },
  "duration": {
   "type": "integer",
   "title": "Duration (seconds)",
   "default": 5,
   "maximum": 30,
   "minimum": 1
  },
  "elements": {
   "type": "array",
   "items": {
    "anyOf": [
     {
      "type": "string"
     },
     {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    ]
   },
   "title": "Element image groups",
   "examples": [
    [
     "https://example.com/hero-front.png"
    ],
    [
     [
      "https://example.com/hero-front.png",
      "https://example.com/hero-side.png"
     ]
    ]
   ],
   "description": "Optional element images. A string entry is one image URL, which is what existing clients send. A group is an array of 1 to 4 public image URLs for one subject: index 0 is the frontal image, indexes 1 to 3 are other angles. Group example: [[\"https://example.com/hero-front.png\",\"https://example.com/hero-side.png\"]]"
  },
  "quantity": {
   "type": "integer",
   "title": "Quantity",
   "default": 1,
   "maximum": 4,
   "minimum": 1
  },
  "async_mode": {
   "type": "boolean",
   "title": "Async Mode",
   "default": false
  },
  "image_urls": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Reference image URLs",
   "minItems": 1,
   "description": "Public https URLs of reference images. At least one."
  },
  "webhook_url": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Webhook URL"
  },
  "aspect_ratio": {
   "type": "string",
   "title": "Aspect Ratio",
   "default": "16:9",
   "pattern": "^(\\d+):(\\d+)$"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-vimmerse-net-vimmerse-reference-to-video-bdbf8859/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)
