PierNode
Videos

Generate Video

Create a video clip from a text prompt.

Turn a prompt into a video. The request returns a task; the clip arrives when you poll it. Video takes considerably longer than images.

Minimal request

curl -X POST https://app.piernode.com/api/v1/videos/generations \
  -H "Authorization: Bearer $PIERNODE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{"prompt": "a calm sea at dawn"}'
{
	"id": "fu0825tesv0laouebtjx0x5w",
	"status": "QUEUED",
	"createdAt": "2026-01-01T12:00:00.000Z"
}

Defaults give you a 5-second 720p 16:9 clip. The cost is reserved at this point.

Parameters

FieldTypeRequiredDefaultDescription
promptstringyes—1–2000 characters.
resolutionstringno720p480p, 512p, 720p, 1080p. Sets the rate.
aspectRatiostringno16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9.
durationSecondsintno54–15.

There is no negativePrompt on video.

A fuller example

curl -X POST https://app.piernode.com/api/v1/videos/generations \
  -H "Authorization: Bearer $PIERNODE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{
    "prompt": "a calm sea at dawn, slow drifting clouds",
    "resolution": "1080p",
    "aspectRatio": "21:9",
    "durationSeconds": 8
  }'

Getting the result

Poll the task. On success:

{
	"status": "SUCCEEDED",
	"output": {
		"videos": [{ "url": "https://...", "contentType": "video/mp4", "sizeBytes": 8388608 }]
	}
}

Videos come back under videos, images under images. Only the key that applies is present.

Errors

Task failures carry the same error.code values as generating an image, and release the reservation in full.

See also

On this page