Resources · n8n integration

bookoly n8n integrationAutomate bookoly with n8n.

Need voice-overs, subtitles and transcripts without opening a video editor? The bookoly n8n integration covers 29 operations across 6 resources, from speech synthesis to subtitle files. No trigger node ships with it, so a schedule or another app starts the run.

Community node This node is not shipped with n8n: it is a community package (n8n-nodes-bookoly) you install from Settings › Community nodes on a self-hosted instance. npm

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the bookoly n8n integration actually do?

It puts bookoly's media API inside a workflow. The node carries 29 operations across 6 resources: sounds, speeches, speech dialogues, files, transcripts and videos. You pick a resource, pick an operation, fill the fields, and the run comes back with an object you can pass to the next node, whether that is a combined sound, a speech synthesis or a subtitle file.

Start with what a media job looks like here. Almost every creation operation follows the same shape: you name the job, you hand over a public and downloadable URL or some text, and you decide whether the node waits. Wait for Completion is the switch that changes everything downstream. Left on, the node pauses the workflow, checks the server until generation is finished and hands back the full object. Left off, you get the ID and the creation timestamp, nothing else, and a later Get operation fetches the result.

First scenario, a narrated clip from a text row. A Schedule Trigger reads a batch of scripts from Airtable, Create a Speech Synthesis turns each script into audio with a named voice, and the returned URL goes back into the same record. Second scenario, subtitles for a library of clips: Generate a Subtitle File takes the video URL, the style, the language and the typography, and the finished file lands in Google Drive. Third scenario, searchable text from recordings: Transcribe Audio or Video returns clear text with timestamps, optionally translated, and the result is written to a row in Google Sheets for the team to search.

Two things are worth knowing before you build. There is no bookoly trigger node in n8n, so a workflow always starts somewhere else: a Schedule Trigger on a fixed interval, an n8n Webhook (a URL another service calls) or the trigger of another tool. And when an endpoint of the bookoly API has no matching operation in the node, the HTTP Request node calls it directly and reuses the same credential through predefined authentication, so you do not build a second connection.

Generation is asynchronous by nature, which is why each creation operation also offers a Webhook URL: bookoly posts the ID and the URL there when the job is done. That pattern pairs well with an n8n Webhook node in a second workflow, and it keeps long jobs from holding an execution open. If your team is still deciding how to run these jobs, the n8n training walks through the same building blocks on real workflows.

Connect

How do you connect bookoly to n8n?

  1. 01

    Install the community package

    The node is not shipped with n8n. On a self-hosted instance, open Settings, then Community nodes, and install the npm package n8n-nodes-bookoly (version 1.0.19). n8n runs from Docker or npm on your own server, and the workflow you build is the same one you would run on n8n Cloud. On Cloud, only verified community nodes are accepted, so check that first.

  2. 02

    Create the credential once

    A credential is the stored connection n8n uses to authenticate calls. You create it once from the Credentials menu, give it a name you will recognize, and every workflow reuses it. The bookoly node then offers it in its own dropdown, so there is nothing to paste again node after node. One credential per bookoly account keeps the executions readable when something fails.

  3. 03

    Add the node and map the fields

    Drop the bookoly node into a workflow, select the resource, then the operation. Required fields block the execution while they are empty, which is the fastest way to spot a missing value. To feed a field from the previous node, use an expression in the form {{ $json.field }}, for example the text of a row or the URL of a file. Run the node once and read the returned object before you wire the rest.

Actions

What can the bookoly node do?

The bookoly node exposes 29 operations across 6 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceAdd Audio to a VideoAdd Audio with Subtitles to a VideoAdd Subtitles to a VideoAdd Subtitles to a Video From a FileAdd Watermark to a VideoBlur a VideoClip a VideoCombine SoundsCreate a SlideshowCreate a Speech SynthesisCreate a Speech DialogueTranscribe Audio or VideoCrop a VideoExtract Audio From a VideoFrame a VideoGenerate a Subtitle FileGenerate a VideoGet a Specific SoundGet a Specific SpeechGet a Specific Speech DialogueGet a Specific Subtitle FileGet a Specific TranscriptionGet a Specific VideoMute a VideoOverlay VideosRotate a VideoScale a VideoSplit a Video Into ScenesStack Videos
Sound✓✓
Speech✓✓
Speech Dialogue✓✓
File✓✓
Transcription✓✓
Video✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓

Sound

2 operations
01

Combine sounds

sound.combineSounds

What you see in n8n

Notes & use cases

Several audio files go in, one continuous track comes out, ready to sit under a video.

Key parameters

  • Sound - Name: the name of the sound, required, and the label you will look for later, often {{ $json.name }} from the node before.
  • Sound - Sounds (JSON): the public and downloadable URLs of the audio files to merge.
  • Wait for Completion: on, the node pauses the workflow until the sound is finished and returns the full object; off, only the ID and the creation timestamp come back.
Use cases
gluing an intro jingle, a voice track and a closing line into one file before it is archived.
02

Get a sound

sound.getSound

What you see in n8n

Notes & use cases

Reads back a sound that already exists in bookoly and returns its data, which is how a workflow picks up a file it created earlier.

Key parameters

  • Sound ID: the ID of the sound, required; it comes from the combine step as {{ $json.id }}.
Use cases
a second workflow that runs on a schedule, collects the finished tracks of the day and posts each URL to the channel that ordered them.

Speech

2 operations
03

Create a speech synthesis

speech.createSpeech

What you see in n8n

Notes & use cases

Text in, a synthesized voice out. The operation reads a script aloud and returns the audio.

Key parameters

  • Speech Synthesis - Name: the name of the speech synthesis, required.
  • Speech Synthesis - Text: the text to create the speech synthesis from, required, usually {{ $json.text }} from the row you just read.
  • Speech Synthesis - Voice: the name of the voice, required, picked from the list in the node (Kore, Nova and the rest of the vendor_id values).
Use cases
narrating a product description for a short vertical video, one voice per language.
04

Get a speech

speech.getSpeech

What you see in n8n

Notes & use cases

Fetches the data of one speech synthesis from the API, which is the step you add when the creation ran without waiting.

Key parameters

  • Speech ID: the ID of the Speech, required, kept from the creation response as {{ $json.id }}.
Use cases
a follow-up branch that waits a few minutes, pulls the finished audio and only then attaches it to the message that goes out.

Speech Dialogue

2 operations
05

Create a speech dialogue

speech_dialogue.createSpeechDialogue

What you see in n8n

Notes & use cases

Where the speech operation reads one script, this one stages a conversation between several AI voices from text.

Key parameters

  • Speech Dialogue - Name: the name of the speech dialogue, required.
  • Speech Dialogue - Segments (JSON): the dialogue segments in JSON, each one with its text and a voice carrying a vendor_id; the available values are listed under Voices at bookoly.com.
  • Webhook URL: a valid URL that receives the Speech Dialogue ID and URL once generation ends.
Use cases
a two-voice recap of the week, built from a table of questions and answers.
06

Get a speech dialogue

speech_dialogue.getSpeechDialogue

What you see in n8n

Notes & use cases

Returns the data of a dialogue already generated, so the audio can be picked up long after the workflow that ordered it.

Key parameters

  • Speech Dialogue ID: the ID of the Speech Dialogue, required.
Use cases
a small review workflow where someone approves the dialogue in a form, and the approved ID is read back here before publication, so nothing is published on a voice nobody signed off.

File

2 operations
07

Generate a subtitle file

file.generateSubtitleFile

What you see in n8n

Notes & use cases

Turns a video or audio URL into a subtitle file, with the typography and the placement decided in the node.

Key parameters

  • Subtitle File - URL: the public and downloadable URL of the video file, required.
  • Subtitle - Style and Subtitle - Language: both required, and both change how the captions read; the default style is Highlight Current Word, which follows the speaker word by word.
  • Subtitle - Font Size and Subtitle - Outline Width: required numbers, 20 and 5 by default.
  • Subtitle - Line Words: how many words show at a time, from 1 to 10.
Use cases
burning readable captions on clips meant to be watched without sound.
08

Get a subtitle file

file.getSubtitleFile

What you see in n8n

Notes & use cases

Pulls one subtitle file back from the API using its identifier, and returns its data to the workflow.

Key parameters

  • Subtitle File ID: the ID of the Subtitle File, required.
Use cases
a nightly run that goes through the subtitle jobs ordered during the day and copies the finished files to the folder the editors work from, one subfolder per client so nobody hunts for the right version.

Transcription

2 operations
09

Transcribe audio or video

transcript.createTranscript

What you see in n8n

Notes & use cases

Written text with timestamps, out of a recording. This is the operation that makes a call or a webinar searchable.

Key parameters

  • Transcript - Name: the name of the transcript, required.
  • Transcript - URL: the public and downloadable URL of the audio or video file, required, mapped as {{ $json.src }} when it comes from a storage node.
  • Transcript - Language: the primary language spoken in the file, required.
  • Transcript - Translation Language: optional, translates the transcript into another language.
Use cases
turning a recorded demo into text a sales team can quote from.
10

Get a transcription

transcript.getTranscript

What you see in n8n

Notes & use cases

Asks the API for one transcript by its identifier and returns the transcript data as it stands.

Key parameters

  • Transcript ID: the ID of the Transcript, required.
Use cases
a workflow triggered by an n8n Webhook that receives the ID once bookoly is done, reads the text here and files it next to the recording, ready for whoever searches the archive next week.

Video

19 operations
11

Add audio to a video

video.addAudioToVideo

What you see in n8n

Notes & use cases

A soundtrack gets laid over an existing video file, and the operation returns a new video with that track in place.

Key parameters

  • Video - URL: the public and downloadable URL of the video file, required.
  • Audio - URL: the public and downloadable URL of the audio file that is added.
  • Audio - Volume: audio volume from 0 to 100, where 100 keeps the original level and 0 is silent.
  • Audio - Trim: trims the audio when the track runs longer than the picture.
  • Video - Mute: mutes the original video audio.
Use cases
putting a licensed music bed under a batch of product clips before they reach the publishing queue.
12

Add audio with subtitles to a video

video.addAudioWithSubtitlesToVideo

What you see in n8n

Notes & use cases

Two jobs travel in one call: the audio track is added, then subtitles are generated from that audio and written onto the video.

Key parameters

  • Audio - URL: the public and downloadable URL of the audio file that carries the voice.
  • Subtitle - Source: the input source for subtitle generation, from speech synthesis or from audio.
  • Subtitle - Style: required, from Simple to Highlight Current Word.
  • Subtitle - Language: required, the language the subtitles are written in.
  • Audio - Trim: trims the audio to match the video length when it is longer.
Use cases
a narrated explainer where the voice and the captions have to land on the same frames.
13

Add subtitles to a video

video.addSubtitlesToVideo

What you see in n8n

Notes & use cases

The sound already inside the video is read, and captions are generated and written onto the picture without any separate track.

Key parameters

  • Subtitle - Font Family: required, Arial by default, with Roboto, Nunito, Lobster and the rest of the list waiting behind it.
  • Subtitle - Font Size: required, 20 by default.
  • Subtitle - Line Words: required, how many words show at a time, 1 minimum and 10 maximum.
  • Subtitle - Position: required, from Top Left to Mid Bottom Center.
  • Subtitle - Text Case: keeps the original casing, or forces lower case or upper case on every line.
Use cases
captioning interview footage meant for a feed that starts playing without sound.
14

Add subtitles to a video from a file

video.addSubtitlesToVideoFromFile

What you see in n8n

Notes & use cases

Captions that already exist as a file are attached to the video, so nothing is generated and nothing is re-transcribed.

Key parameters

  • Subtitle File - URL: required, the public and downloadable URL of the subtitle file.
  • Subtitle File - Type: the format of the subtitle, Advanced SubStation Alpha (ASS) being selected by default.
  • Wait for Completion: left off, only the ID and the creation timestamp come back.
Use cases
putting a translated ASS file back on the cut once a human reviewer has corrected it.
15

Add a watermark to a video

video.addWatermarkToVideo

What you see in n8n

Notes & use cases

An image is stamped onto the frame at coordinates you choose and stays there for the whole clip.

Key parameters

  • Watermark - URL: required, the public and downloadable URL of the image file, PNG or JPG.
  • Watermark - X Coordinate: required, distance in pixels from the left edge of the video.
  • Watermark - Y Coordinate: required, distance in pixels from the top edge of the video.
  • Video - Mute: drops the original video audio at the same time.
Use cases
branding every clip a partner sends before it is filed with the rest of the library.
16

Blur a video

video.blurVideo

What you see in n8n

Notes & use cases

A rectangle of the frame is blurred, which is the usual way to hide a face, a plate or a screen.

Key parameters

  • X Coordinate and Y Coordinate: required, horizontal and vertical position of the top-left corner of the blur area.
  • Box Width and Box Height: required, in pixels, and neither may exceed the video width or height.
  • Power: required, intensity of the blur, with a recommended range of 10 to 25.
Use cases
masking a customer name that stayed visible on a dashboard during a demo recording.
17

Clip a video

video.clipVideo

What you see in n8n

Notes & use cases

A shorter extract is cut out of a longer file, defined by the second where it begins.

Key parameters

  • Clip - Start Time: required, the clip start time in seconds from the start of the video.
  • Clip - End Time: the clip end time in seconds from the start of the video, left empty to run to the end.
  • Video - Mute: removes the original audio from the extract.
Use cases
pulling the one answer worth sharing out of a long recorded call.
18

Create a slideshow

video.createSlideshow

What you see in n8n

Notes & use cases

Images, videos or a mix of both are assembled into a single file, scene after scene, in the order you hand them over to the node.

Key parameters

  • Video - Resolution: required, horizontal, vertical or square, from Full HD (1920x1080) up to 4K.
  • Video - Scenes (JSON): the scenes, as JSON.
  • Webhook URL: a valid URL that receives the notification once the render is finished, with the video ID and the video URL included in the payload.
Use cases
turning a folder of photos taken at an event into a recap video the same evening.
19

Crop a video

video.cropVideo

What you see in n8n

Notes & use cases

The frame shrinks to a rectangle. Everything outside that box disappears from the output file.

Key parameters

  • Crop - X Coordinate and Crop - Y Coordinate: required, position of the top-left corner of the crop.
  • Crop - Width and Crop - Height: required, in pixels, capped by the width and the height of the video.
  • Video - Mute: mutes the original video audio.
Use cases
reframing a horizontal recording into a vertical cut for a phone feed.
20

Extract audio from a video

video.extractAudioFromVideo

What you see in n8n

Notes & use cases

The audio track is separated from the video file and saved on its own, ready for a step that only cares about sound.

Key parameters

  • Video - URL: required, the public and downloadable URL of the video file.
  • Webhook URL: a valid URL that receives the notification, with the video ID and URL included.
Use cases
sending the sound of a recorded webinar to a transcription step without moving the picture around.
21

Frame a video

video.frameVideo

What you see in n8n

Notes & use cases

One frame is captured at a chosen moment and saved as an image, which gives a thumbnail without opening an editor.

Key parameters

  • Video - Timestamp (Seconds): the point in time the frame is captured from, 5.2 meaning 5.2 seconds into the video.
  • Video - Name: required, the name of the video, the label the image is filed under.
Use cases
generating a cover image for every clip published during the week.
22

Generate a video

video.generateVideo

What you see in n8n

Notes & use cases

The widest operation of the node builds a video from images and clips, adds a generated voice-over with automated subtitles, and mixes in background music.

Key parameters

  • Video - Duration: required, whether the final length follows the audio, the speech synthesis or all scenes.
  • Video - Scenes (JSON): the scenes that make up the picture, given as JSON.
  • Speech Synthesis - Text and Speech Synthesis - Voice: the script read aloud and the voice reading it.
  • Video - Resolution: required, up to 4K (3840x2160).
Use cases
producing one narrated short per catalogue row without anyone opening a timeline.
23

Get a video

video.getVideo

What you see in n8n

Notes & use cases

Fetches video data from the API using the video ID, which is how a later branch learns where the finished file sits and under which name it was stored.

Key parameters

  • Video ID: required, the ID of the video, usually {{ $json.id }} kept from the step that created it.
Use cases
reading the result of a render that was launched with Wait for Completion switched off, so only an identifier came back at the time.
24

Mute a video

video.muteVideo

What you see in n8n

Notes & use cases

Volume is reduced to zero and the same video comes back, picture untouched, sound gone.

Key parameters

  • Video - Name: required, the name of the video.
  • Video - URL: required, the public and downloadable URL of the video file.
  • Wait for Completion: on, the node pauses the workflow until the server is done and returns the full video object.
Use cases
stripping ambient noise from screen recordings before a voice-over is dropped on top.
25

Overlay videos

video.overlayVideos

What you see in n8n

Notes & use cases

A second video sits on top of the first at a chosen anchor, the picture in picture arrangement people expect from a tutorial.

Key parameters

  • Overlay Video - URL: required, the public and downloadable URL of the overlay video file.
  • Overlay Video - Mute: required, whether the overlay keeps its own audio.
  • Position: required, from Top Left to Center Bottom.
  • Scale: scale percentage of the overlay video, 1 to 100.
  • X Offset and Y Offset: pixels away from the position anchor.
Use cases
dropping a webcam bubble onto a screen capture before the file is shared.
26

Rotate a video

video.rotateVideo

What you see in n8n

Notes & use cases

The picture turns a quarter, a half or three quarters of a turn, and the file comes back in its new orientation.

Key parameters

  • Video - Rotation (Degrees): 90, 180 or 270, positive values rotating clockwise and negative ones counter-clockwise.
  • Video - Mute: whether the original video audio is dropped along the way.
Use cases
fixing clips filmed sideways on a phone before they join a slideshow.
27

Scale a video

video.scaleVideo

What you see in n8n

Notes & use cases

Dimensions change according to the mode you pick, from a simple width target to an exact size that may distort the picture.

Key parameters

  • Scale Mode: required, Scale to Width, Scale to Height, Scale to Fit, Scale to Fill, Scale Exact or Scale Keep Aspect Ratio.
  • Width and Height: in pixels, even numbers, 2 at minimum.
  • Video - Mute: mutes the original video audio.
Use cases
bringing footage from several sources to one size before they are placed side by side.
28

Split a video into scenes

video.splitVideoIntoScenes

What you see in n8n

Notes & use cases

One file goes in and several segments come out, cut where the picture changes or on a fixed rhythm.

Key parameters

  • Split - Mode: required, automatic scene detection, a fixed interval or a number of segments.
  • Split - Segment Length: required, the duration in seconds of each equal segment.
  • Split - Min Scene Duration (Sec) and Split - Max Scene Duration (Sec): required, the bounds of a scene found automatically.
  • Split - Scene Change Threshold: required, in a range of 0.1 to 1, lower values detecting more changes.
Use cases
breaking a recorded workshop into chapters that are indexed one by one.
29

Stack videos

video.stackVideos

What you see in n8n

Notes & use cases

Two files are placed next to each other or one above the other inside a single frame.

Key parameters

  • Secondary Video - URL: required, the public and downloadable URL of the secondary video file to stack.
  • Secondary Video - Mute: required, whether the audio of the secondary video is kept.
  • Layout: required, Horizontal side by side, Vertical one above the other.
  • Video - Mute: drops the audio of the first video.
Use cases
a before and after comparison shown in one clip instead of two files nobody watches to the end.
Need help

Need help automating bookoly with n8n?

A person reads every message.

FAQ

bookoly and n8n, the questions that come up

01Is the bookoly n8n integration free?
On the n8n side, yes. Nothing is billed for using the node, on a self-hosted instance or on n8n Cloud, and the workflow you build is the same in both cases. One detail matters here: this is a community node, which means it is not bundled with n8n. You install the npm package n8n-nodes-bookoly yourself from Settings, then Community nodes, on a self-hosted instance. n8n Cloud only accepts verified community nodes, so check that before you plan around it. What bookoly itself costs is a separate question, and this page does not cover it.
02What credentials do you need?
One credential, created once. In n8n a credential is the stored connection used to authenticate calls, and you add it from the Credentials menu rather than inside the workflow. Once saved, it is reusable: every bookoly node offers it in a dropdown, and the same entry serves as many workflows as you build. The HTTP Request node can reuse it too, through predefined authentication, when you need an endpoint the node does not expose. The exact fields to fill were not available when this page was written, so check the credential form in your own instance.
03What are the limits of the bookoly node?
Three worth planning for. First, the node covers 29 operations across 6 resources, and anything outside that list goes through the HTTP Request node, which calls any endpoint of the bookoly API and reuses the same credential. Second, generation is asynchronous: with Wait for Completion disabled, you only get the ID and the creation timestamp, and a Get operation or a Webhook URL brings back the finished object. Third, source files have to be reachable at a public and downloadable URL, which rules out anything sitting behind a login.
04Does bookoly react in real time in n8n?
Not on its own. There is no bookoly trigger node in n8n, so a workflow that involves it always starts somewhere else. Three options cover most cases: a Schedule Trigger that runs on a fixed interval and looks for new work, an n8n Webhook node, that is a URL another service calls to start the workflow, or the trigger of another tool you already use. There is a second path for results: each creation operation accepts a Webhook URL, and bookoly posts the ID and the URL there when the job finishes, which a Webhook node can receive.
05n8n or Make for bookoly?
It comes down to four criteria. Hosting first: n8n runs on your own server with Docker or npm, or on n8n Cloud, while Make is hosted only. Data control follows from that, since a self-hosted instance keeps the media URLs and the transcripts inside your own perimeter. Cost model next: Make bills per operation, which is worth modelling when a single video job chains several calls. Visual logic last, both are visual editors with a different feel, and the honest answer is to build the same small workflow in each and keep the one your team reads faster.