Back to Nodes

Frames per Second

Last updated Oct 22, 2026

n8n community node for buildonce.app — render your templates to images and PDFs inside n8n workflows

9 Weekly Downloads
117 Monthly Downloads

Included Nodes

Frames per Second
buildonce.app Trigger

Description

n8n-nodes-buildonce

An n8n community node for buildonce.app: templates,
brand assets and a render API for agents, automations and your own product. Use it to render
images and PDFs from your buildonce.app templates directly inside n8n workflows.

Installation

In n8n: Settings → Community Nodes → Install, and search for n8n-nodes-buildonce.

Or via npm, in a self-hosted n8n instance:

npm install n8n-nodes-buildonce

Credentials

1. Sign in to buildonce.app and open Settings → API Keys
(workspace admins only).
2. Create a new key. It starts with fllive (or fltest for a key labelled test), and
is shown only once.
3. In n8n, add a new buildonce.app API credential and paste the key in.

A key has full access to its workspace’s API and is bound to that one workspace. The
credential’s Domain field defaults to https://api.buildonce.app; only change it if you’re
pointed at a different environment.

Operations

Pick a Resource, then an Operation.

Template

  • Render: render a template to PNG, JPEG, PDF, or a video (MP4, WebM, GIF) with its
  • animations, optionally overriding variable values, and get back the resulting file’s URL. A
    video takes a few seconds or more to render: by default the node waits for it (up to
    Timeout); turn off Wait for Completion to get the render ID straight away. Videos
    cost 1 credit per started second, at most 60 s.

  • Get: fetch a single template’s metadata.
  • Get Many: list templates in your workspace, with search/sort/folder filters.
  • Get Parameters: list the variables a template accepts (the keys you can set under
  • Modifications on Render).

    Render

  • Get: fetch a render by its ID, with its files and status (queued, processing,
  • succeeded or failed). Use it to pick up a video you didn’t wait for.

  • Get Many: list past renders in the workspace, filterable by format or template.
  • Useful for polling for new renders.

  • Re-Render: render an existing render again with new variable values, from that render’s
  • own saved design, so any edits made to it are kept. Every page is rendered; keys can target
    one page (page2@headline, or @headline), and a page key beats a plain one. Keep
    the original format or pick another, including video (which waits like Template → Render).
    The result is a new render whose sourceRenderId points back at the original.

    Account

  • Get: the workspace, plan and credits this API key is bound to. Credits come as used,
  • limit and remaining (null on an unlimited plan), so a workflow can check them before
    rendering.

  • Get Activity Log: the workspace’s activity log (renders, template changes, key events and
  • more), newest first, filterable by source, status, action prefix (e.g. render.) and a
    From/To window. Times without a time zone are read as UTC.

    Trigger

    buildonce.app Trigger starts a workflow when something happens in your workspace:

    | Group | Events |
    |—|—|
    | Renders | Render Completed, Render Failed, Render Edited (saved in the embedded editor) |
    | Templates | Template Created, Template Updated, Template Deleted |
    | Social posts | Post Scheduled, Post Published, Post Failed |
    | Credits | Credits Running Low (80%), Credits Used Up (100%) |

    Activating the workflow registers a webhook in buildonce.app (it shows up under
    Settings → Webhooks as “n8n: workflow name“); deactivating it removes the webhook. Each
    delivery is checked against its BuildOnce-Signature (HMAC-SHA256 of the exact body, with a
    5-minute timestamp window), so a forged or replayed request never starts the workflow. The
    output is the event as buildonce.app sends it: type, id, createdat, workspaceid and
    data, plus the deliveryId. Turn on Include Test Events to also run on “Send test event”.

  • buildonce.app only delivers to public HTTPS URLs, so a self-hosted n8n needs a public
  • address (N8NWEBHOOKURL); localhost won’t work.

  • Each active trigger uses one of the workspace’s 10 webhook endpoints.
  • If you delete the webhook in buildonce.app while the workflow is active, deactivate and
  • activate the workflow again to re-register it.

    Development

    Built with n8n’s @n8n/node-cli:
    npm run build, npm run lint (n8n’s community-node rules, strict mode) and npm run dev
    (an n8n with this node, rebuilt on change).

    Releases are published from GitHub Actions only: merge a version bump, then push a v* tag.
    The Publish workflow runs npm run release (lint, build, publish with npm provenance) and then
    checks the published version with n8n’s scan-community-package. A plain npm publish is
    refused on purpose.

    Example workflow

    1. Render Template: pick a template, set a headline modification to a value from an
    earlier node.
    2. Use the returned url field to download the rendered image or post it somewhere else in
    your workflow (Slack, email, social, etc).

    What’s new

    0.3.0

  • buildonce.app Trigger: a new trigger node that starts a workflow on 11 events (renders,
  • templates, social posts and credits), registers its own webhook when the workflow is
    activated, and checks the signature of every delivery. See Trigger.

  • Resources: operations are grouped under Template, Render and Account. Pick a
  • resource, then an operation.

  • Render → Re-Render: render an existing render again with new values, keeping its edits;
  • page-specific keys like page2@headline change one page only.

  • Account → Get: workspace, plan and credits, including remaining.
  • Account → Get Activity Log: the workspace’s activity log, filterable by source, status,
  • action and date range.

  • Built and linted with n8n’s own @n8n/node-cli, and released through its publish flow.
  • 0.2.0

  • Video rendering: Render Template now renders MP4, WebM and GIF, with video options
  • (frames per second, quality, scale). By default the node waits for the video and returns its
    file; turn off Wait for Completion to get the render ID straight away.

  • Get Render: a new operation that fetches a render by ID, with its files and status.
  • Complete lists: Return All on List Templates and List Renders now returns every result,
  • not just the first 100, and the template picker lists all templates, sorted by name.

  • Video formats in the List Renders filter.
  • Continue On Fail works for every operation; a failed or timed-out video also outputs its
  • render ID.

  • New look: the buildonce.app name and logo, and working documentation links.
  • Requires Node.js 22 or later when installed outside n8n’s own runtime.
  • Compatibility

    Works with n8n 1.x and 2.x (last tested on n8n 2.44), with n8n-workflow as a peer
    dependency.

    Resources

  • buildonce.app documentation
  • API keys
  • Render API reference
  • Renders API reference
  • n8n community nodes documentation

License

MIT