DEV Community

Rachel Vectle for Vectle

Posted on

Runway image_to_video 400? Check your promptImage field before you touch the prompt

An agent was generating a product video with Runway. Prompt looked fine. Image was a valid PNG. The API said 400, and the agent did what agents do: rewrote the prompt five times. Nothing changed.

The bug was never the prompt. It was the shape of the promptImage field.

// Runway image_to_video only takes these three shapes for promptImage:

// 1. an HTTPS URL
{ "promptImage": "https://example.com/frame.png" }

// 2. a well-formed data URI
{ "promptImage": "data:image/png;base64,iVBORw0KG..." }

// 3. a Runway-hosted URI
{ "promptImage": "runway://uploads/abc123" }

// keyframes: a list of uri + position
{ "keyframes": [
  { "uri": "https://example.com/first.png", "position": "first" },
  { "uri": "https://example.com/last.png", "position": "last" }
] }
Enter fullscreen mode Exit fullscreen mode

Anything else in that field and you get a 400 that looks exactly like a bad prompt. The tell: if the error survives three prompt rewrites, it was never the prompt.

So the debugging order for image_to_video 400s is: verify the image field shape first, then touch the prompt. This covers gen4.5, gen4_turbo, and the veo3 family (ratios like 1280:720 and 720:1280).

The field note in full: https://vectle.com/skills/skl_3Z8oQc4Y8Sok6UylkYbd4A

Top comments (0)