PierNode
Videos

Text to video

Generate a video from a text prompt.

Generate a video from a prompt. Like every PierNode generation, this is asynchronous: you start a task and poll it until it reaches a terminal state.

POST /api/v1/videos/generations

curl -X POST https://app.piernode.com/api/v1/videos/generations \
  -H "Authorization: Bearer $PIERNODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a calm sea at dawn",
    "resolution": "720p",
    "aspectRatio": "16:9",
    "durationSeconds": 5
  }'

Request

FieldTypeRequiredDefaultNotes
promptstringyes1–2000 characters.
resolutionstringno720p480p, 512p, 720p, 1080p.
aspectRatiostringno16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9.
durationSecondsintno54–15.

Request bodies are limited to 64 KB. Any field not listed above is ignored.

Response

Returns as soon as the task is accepted — not when the video is ready.

{
	"id": "01JD8Z9K2M4N6P8Q0R2S4T6V8W",
	"status": "QUEUED",
	"createdAt": "2026-01-01T12:00:00.000Z"
}

Poll GET /api/v1/tasks/\{taskId\} until status is SUCCEEDED or FAILED.

Result

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

Result links are valid for one hour. Re-poll the task for a fresh one.

Pricing

Charged per second, at a rate that depends on the resolution. A 10-second 720p clip costs ten times the 720p per-second rate. Aspect ratio does not affect the price. Current rates are shown on your dashboard.

Nothing is reserved unless the task is accepted, and a failed generation is refunded in full.

Cancelling

POST /api/v1/tasks/\{taskId\}/cancel refunds a task that has not started yet. Once processing has begun it returns 409.

On this page