PierNode
Getting Started

API reference

Every endpoint, in one place.

Base URL: https://app.piernode.com

Every endpoint takes Authorization: Bearer pn_.... See Authentication.

Generation

MethodPathDescription
POST/api/v1/images/generationsText to image
POST/api/v1/images/transformationsImage to image
POST/api/v1/videos/generationsText to video
POST/api/v1/videos/transformationsImage to video

All four return a task immediately and reserve the cost. Poll for the result.

Tasks

MethodPathDescription
GET/api/v1/tasks/\{taskId\}Poll a task. Not billed.
POST/api/v1/tasks/\{taskId\}/cancelCancel a queued task.

Uploads

MethodPathDescription
POST/api/v1/uploadsReserve an upload, get a URL to PUT to.
POST/api/v1/uploads/\{assetId\}/completeVerify the bytes and make the upload usable.
GET/api/v1/uploads/\{assetId\}Read an upload's state.

Not billed. See Uploading an image.

Account

MethodPathDescription
GET/api/v1/meYour account id, balance and currency.
curl https://app.piernode.com/api/v1/me \
  -H "Authorization: Bearer $PIERNODE_API_KEY"
{
	"id": "the-account-id",
	"balance": "100.000000",
	"currency": "USD"
}

Conventions

Shared by every endpoint:

  • Request bodies are JSON, limited to 64 KB. Unknown fields are ignored.
  • Amounts are exact decimal strings, never floating-point numbers.
  • Timestamps are ISO 8601 in UTC.
  • Enum values are lowercase (720p, hd, 16:9).
  • Errors carry a status code and a human-readable message — see Errors.
  • Generation requests are limited to 60 per minute per account.

On this page