FlowRunner
PricingContact
Theme
Start Free

Bookoly

AI

Connect AI agents to Bookoly, an automated video creation platform. Agents generate speech from a script, assemble video and sound, and produce transcripts and subtitles as a single render pipeline.

31 actions API key available
A script is approved in the content system, since Bookoly pushes no events into FlowRunner
Create Text to Speech submits the script for a voiceover, returning only a job ID
Get Speech is polled until state reaches completed, because the audio does not exist when the job is accepted
Create Subtitle File generates a standalone ASS subtitle file from that audio with the chosen styling
Get Subtitle File returns the finished file so the words can be read before they are burned into pixels
A reviewer who reads the target language receives the subtitle text and the voiceover audio
The reviewer approves the wording, and only then does Add Subtitles to Video From File burn it in

What This Integration Enables

Bookoly turns a script and a pile of assets into a finished video file. It is not an editor with an API bolted on, it is a render pipeline: you describe the composition, it produces the output. FlowRunner connects to that pipeline so the render starts from wherever the content was actually approved, which for most teams is a content calendar, a CMS or a chat message, and not from someone opening a video tool.

The surface splits into three jobs that happen to share a credential. Composition builds video from scratch: Create Video From Assets assembles a scene sequence with motion effects and transitions, and Generate Video does the whole thing in one call by combining scenes, an AI voiceover, styled subtitles and a background track. Audio generation stands on its own: Create Text to Speech renders a voiceover, Create Speech Dialogue renders a multi-voice conversation from at least two segments, Combine Sounds concatenates tracks, and Create Transcript turns audio or video back into text with optional translation. And then there is a genuine editing toolbelt, the operations that transform video you already have: clip, crop, scale, rotate, blur, mute, watermark, stack, overlay, extract a frame, extract the audio, split into scenes automatically or by count or by interval.

Everything here is asynchronous, and that shapes every flow. A creation or editing action returns only an id and a created_at. The media does not exist yet. You poll the matching read action, Get Video, Get Sound, Get Speech, Get Speech Dialogue, Get Transcript or Get Subtitle File, until state reaches completed, at which point the url field holds the output. States are new, processing, completed, warning and failed, and a flow that treats acceptance as completion will hand a downstream step a URL that is not there. Note also that creation actions consume Bookoly account credits while read actions and Check API Token do not, so a retry loop that re-submits rather than re-polls is spending money on the same render twice.

On events, be precise about what exists. This connector has no triggers. Bookoly does accept an optional webhook_url on each creation and editing action, which it calls when that job finishes, but that is a parameter on an action you invoke, delivering to an endpoint you nominate. It is not a subscription and it creates nothing in FlowRunner. The supported pattern in a flow is polling the matching Get action until the state settles. Source assets are a related boundary: video, audio, image, watermark and subtitle inputs are all supplied as publicly reachable URLs that Bookoly fetches server-side, so anything sitting behind a signed or private link needs to be made reachable first.

Without FlowRunner

Video work waits on an editor A finished script sits in the queue until someone has an afternoon for it
Localization done one language at a time Each additional language is a separate manual pass through the same edit
Errors found after publication A wrong caption is noticed by the audience rather than by the team

With FlowRunner

Rendering starts when the script is approved The voiceover and the assembly begin from the system where the copy was signed off
Languages fan out from one source The same source video produces subtitle passes across the languages Bookoly supports
Wording checked before it is permanent Subtitles are reviewed as text while they can still be changed cheaply

Use Case Scenarios

A social clip that starts from an approved script

A campaign row in Airtable reaches Approved with a script and a set of image URLs. A flow calls Create Text to Speech with the script and the chosen voice, polls Get Speech until completed, then calls Generate Video with the scene list, the voiceover, the subtitle styling and a background track, and polls Get Video for the finished file. The output URL is written back to the campaign row and posted to the marketing channel in Slack for review. What changes here is not the quality of the video, it is who is blocked: the script author no longer waits for editor availability to see a rough cut, and the editor is no longer the bottleneck for content that never needed their judgment.

One recording, repurposed into the formats each channel wants

A webinar recording arrives. A flow calls Create Transcript for the text, with translation where a second language is needed, and pushes the transcript into the CMS as the basis for an article. In parallel it calls Split Video Into Scenes with auto detection to find natural breaks, then Clip Video for the segments worth pulling out, Scale Video to the aspect ratio each platform wants, and Add Watermark to Video for the brand mark. Each step returns a job ID that the flow polls to completion before feeding the output URL to the next. Finished assets land in Google Drive in a folder per channel. The recording was already paid for; the repurposing is what usually does not happen.

Faces and details masked before a recording is shared

Recordings made in an office, a clinic or a customer site routinely contain something that should not leave the building: a whiteboard, a screen, a person who did not consent to appear. A flow calls Extract Video Frame at intervals to produce stills a reviewer can scan quickly, and the reviewer marks the regions and timestamps that need covering. The agent then calls Blur Video with the box coordinates and blur power for each region, and Mute Video where the audio is the problem, polling Get Video after each step. The result is a version that can be shared, produced from a review that took minutes rather than an edit that took an afternoon. The blur is destructive to the output file but not to the source, since the source is a URL Bookoly fetched rather than a file it replaced, so a bad mask is re-rendered rather than lost.

Human-in-Loop Highlight

Add Subtitles to Video and its siblings burn subtitles into the pixels. They are not a caption track a viewer can switch off and they are not metadata that can be corrected later. Once a video is rendered with subtitles in it, the words are part of the picture, and the only fix is a fresh render from source, which costs credits again and produces a new URL that has to chase down every place the old one was already posted. Now combine that with what Add Subtitles to Video actually does: it transcribes the video's audio and burns the result, across the languages Bookoly supports for transcription and subtitles. So the failure mode is specific and nasty. A machine transcription error, in a language nobody on the reviewing team reads, becomes a permanent part of a video that is about to be published under your brand, and the first person to notice is a native speaker in the audience.

Bookoly ships the fix in its own action list, and the gate is to use it. Create Subtitle File generates a standalone ASS subtitle file from the same source without touching the video, and Get Subtitle File returns it as text. So the agent renders the words first and asks before it renders them into the frame: "Subtitle pass ready for the German cut of the Q3 product film. 44 caption lines, transcribed from the voiceover, style highlight_current_word at bottom_center. Full text attached. Two lines flagged low confidence, at 0:18 and 1:52. Approve the wording, and I will burn it in with Add Subtitles to Video From File." A person who reads German reads it, edits the two flagged lines, and approves. The agent then burns the approved file rather than a fresh transcription, so what ends up in the pixels is exactly what the reviewer signed off. The agent did the transcription, the styling, the polling and the file handling. The one thing it did not do was decide that a sentence in a language it cannot verify was good enough to make permanent.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

31 actions

Account

2
  • Check API Token Validates the configured Bookoly token by calling the auth-check endpoint, returning a confirmation message when valid and failing with an authentication error otherwise. This action consumes no credits, so it is the right way to test a connection.
  • Get User Retrieves a Bookoly user by ID, including name, email, avatar URL and account timestamps. Useful for confirming which account the token belongs to.

Video Composition

2
  • Create Video From Assets Assembles a video from a sequence of image and video scenes, where each scene defines an asset, an optional duration, a motion effect, a mute flag and a transition into the scene. Returns a video job ID; poll Get Video for the finished URL. Requires at least one scene.
  • Generate Video Creates a fully composed video in a single call, combining scenes, an AI voiceover, styled subtitles and an optional background audio track. This is the all in one builder and the highest credit cost per call, so it is the one to drive from an approved input rather than a draft.

Video Editing

12
  • Clip Video Extracts a segment from a video starting at a given time for an optional duration. Returns a video job ID to poll.
  • Mute Video Removes the audio track from a video, which is the fastest fix when the problem in a recording is something that was said rather than something that was shown.
  • Crop Video Crops a video to a rectangular region defined by a top-left point plus a width and height.
  • Scale Video Resizes a video using a scaling mode such as scale to width, scale to fit, scale exact or keep aspect ratio, with optional target width and height. This is how one source becomes the aspect ratios each platform expects.
  • Rotate Video Rotates a video by 90, 180 or 270 degrees, which is mostly a fix for footage that came off a phone the wrong way up.
  • Blur Video Applies a rectangular blur region defined by a top-left point, a box width and height, and a blur power. Used for masking faces, logos, whiteboards or anything else that should not leave the building.
  • Add Watermark to Video Overlays a watermark image onto a video at a given top-left pixel position.
  • Stack Videos Stacks two videos into one, either vertically or horizontally side by side.
  • Overlay Videos Overlays a secondary video on top of a primary video at a chosen anchor position, with optional scale and pixel offsets. This is the picture-in-picture and reaction video shape.
  • Split Video Into Scenes Splits a video into separate scene clips, either automatically by scene-change detection tuned with a threshold, by a fixed count, or by fixed time intervals. The automatic mode is what makes repurposing a long recording tractable.
  • Extract Audio From Video Extracts the audio track from a video into a separate audio file, the first step when a recording needs to become a transcript or a podcast cut.
  • Extract Video Frame Captures a single still frame at a given timestamp and returns it as an image. Sampling frames is a cheap way to give a human something scannable before committing to a render.

Subtitles

5
  • Add Subtitles to Video Transcribes a video's audio and burns styled subtitles into the picture with the given style, language, font and position. The subtitles become part of the pixels and cannot be turned off or corrected without a fresh render.
  • Add Subtitles to Video From File Burns subtitles from an existing ASS subtitle file into a video rather than transcribing the audio. This is the action to pair with a reviewed subtitle file when the wording has to be right.
  • Add Audio With Subtitles to Video Mixes an external audio track into a video and burns in styled subtitles generated from that audio, combining the audio settings for trim and volume with the subtitle styling and language.
  • Create Subtitle File Generates a standalone ASS subtitle file by transcribing an audio or video source and applying the given styling. Because it produces a reviewable file without touching the video, this is the cheap checkpoint before anything is burned in.
  • Get Subtitle File Retrieves a subtitle file job by ID, including its processing state, subtitle type, audio duration and the output file URL once completed.

Audio and Speech

5
  • Add Audio to Video Mixes an external audio track into a video, with control over trimming to the video length and playback volume, and an option to mute the original audio first.
  • Combine Sounds Concatenates multiple audio files into a single track in the order provided. Requires at least one source. Returns a sound job ID; poll Get Sound.
  • Create Text to Speech Synthesizes an audio voiceover from text using a chosen voice. Returns a speech job ID; poll Get Speech for the finished audio URL.
  • Create Speech Dialogue Synthesizes a multi-voice conversation by rendering each segment with its own text and voice, then combining them into one dialogue track. Requires at least two segments.
  • Create Transcript Transcribes an audio or video file into text, with an optional translation into another language. Returns a transcript job ID; poll Get Transcript for the recognized text and any timestamped or translated results.

Job Results

5
  • Get Video Retrieves a video job by ID, including its processing state, resolution, duration, format, quality and the output URL once completed. Poll this after any video operation, since every one of them returns a job rather than a file.
  • Get Sound Retrieves a sound job by ID, including its processing state, duration, action type, source URL and the output URL once completed.
  • Get Speech Retrieves a text-to-speech job by ID, including its processing state, the spoken text, voice details, duration and the output audio URL once completed.
  • Get Speech Dialogue Retrieves a multi-voice dialogue job by ID, including its processing state, duration, output URL once completed, and the individual segments with their text and voices.
  • Get Transcript Retrieves a transcript job by ID, including its processing state, the recognized text, detected language, audio duration and any timestamped or translated results once completed.

Frequently Asked Questions

What can FlowRunner do with Bookoly?

FlowRunner agents can run Check API Token, Get User, and Get Video in Bookoly, plus 28 more actions.

Does connecting Bookoly to FlowRunner require OAuth?

No. Bookoly connects to FlowRunner with an API key, no OAuth flow required.

Can Bookoly trigger a FlowRunner workflow automatically?

Bookoly doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Bookoly

$100 in credits. No card required. Connect in minutes.