Skip to main content
PUT
/
projects
/
{project_id}
/
video_settings
Update
curl --request PUT \
  --url https://api.beyondwords.io/v1/projects/{project_id}/video_settings \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '{
  "enabled": true,
  "logo_image_url": null,
  "logo_image_position": "top-right",
  "background_color": "white",
  "text_background_color": "rgba(255, 255, 255, 0.88)",
  "text_color": "black",
  "text_highlight_color": "linear-gradient(to right, #933AFB, #FB3A41)",
  "text_shadow": "3px 3px 3px linear-gradient(to right, red, blue)",
  "text_highlight_shadow": "-3px -3px 3px orange",
  "text_stroke": "0px transparent outside",
  "text_highlight_stroke": "0px transparent outside",
  "text_fonts": [
    "Inter-Medium.ttf",
    "NotoSansSC-Medium.ttf",
    "NotoSansJP-Medium.ttf",
    "NotoSansHebrew-Medium.ttf",
    "NotoSansTamil-Medium.ttf"
  ],
  "text_font_size": "64,",
  "text_lines": 1,
  "text_horizontal_align": "center",
  "text_vertical_align": "end",
  "waveform_color": "linear-gradient(to right, #933AFB, #FB3A41)",
  "content_image_enabled": true,
  "image_extraction_enabled": true,
  "pan_and_zoom_enabled": true,
  "audio_and_waveform_enabled": true,
  "text_captions_enabled": true,
  "playback_mode": "cycle",
  "cycle_time": 15000
}'
{
  "enabled": true,
  "logo_image_url": "https://example.com/logo.png",
  "logo_image_position": "top-right",
  "background_color": "white",
  "text_background_color": "rgba(255, 255, 255, 0.88)",
  "text_color": "black",
  "text_highlight_color": "#0cf",
  "text_shadow": "3px 3px 3px linear-gradient(to right, red, blue)",
  "text_highlight_shadow": "-3px -3px 3px orange",
  "text_stroke": "0px transparent outside",
  "text_highlight_stroke": "0px transparent outside",
  "text_fonts": [
    "Inter-Medium.ttf",
    "NotoSansSC-Medium.ttf",
    "NotoSansJP-Medium.ttf",
    "NotoSansHebrew-Medium.ttf",
    "NotoSansTamil-Medium.ttf"
  ],
  "text_font_size": "64,",
  "text_lines": null,
  "text_words": null,
  "text_horizontal_align": "start",
  "text_vertical_align": "end",
  "waveform_color": "linear-gradient(to right, red, blue)",
  "content_image_enabled": true,
  "image_extraction_enabled": true,
  "pan_and_zoom_enabled": true,
  "audio_and_waveform_enabled": true,
  "text_captions_enabled": true,
  "playback_mode": "cycle",
  "cycle_time": 15000
}

Authorizations

X-Api-Key
string
header
required

Path Parameters

project_id
string
required

The numeric ID of your project

Body

application/json
enabled
boolean

When true, video generation is enabled for this content or project

logo_image_url
string<uri> | null

The logo that should appear in the corner of the video. Defaults to the BeyondWords logo.

Maximum length: 2048
logo_image_position
enum<string>

The position of the logo that appears in the corner of the video.

Available options:
top-left,
top-right
background_color
string

The background color of the video when there is no image. Supports CSS colors including linear-gradient(to right, ...)

text_background_color
string

The background color to show behind text. Supports CSS colors including linear-gradient(to right, ...)

text_color
string

The foreground color of text. Supports CSS colors including linear-gradient(to right, ...)

text_highlight_color
string

The foreground color of text whilst the word is being read out. Supports CSS colors including linear-gradient(to right, ...)

text_shadow
string

Text shadow of non-highlighted words (CSS format, supports linear-gradient(to right, ...))

text_highlight_shadow
string

Text shadow of highlighted words (CSS format, supports linear-gradient(to right, ...))

text_stroke
string

Text outline of non-highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)

text_highlight_stroke
string

Text outline of highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)

text_fonts
string[]

A list of fonts to use. Fonts will be prioritized automatically based on glyph coverage for the text. The default fonts are built-in, but you can include remote URLs to custom fonts in .ttf or .otf format.

text_font_size
integer

Font size for text captions (30-90).

Required range: 30 <= x <= 90
text_lines
integer | null

The maximum number of lines of text to show at once. Must be between 1 and 5. If not specified, text_lines will default to landscape=4, square=5, portrait=5.

Required range: 1 <= x <= 5
text_words
integer | null

Maximum number of words to show per line

Required range: x >= 1
text_horizontal_align
enum<string>

The horizontal alignment of text lines, either 'start', 'center', or 'end'. A value of 'start' aligns the text to the left for left-to-right languages, right otherwise. A value of 'end' aligns the text to the right for left-to-right languages, left otherwise.

Available options:
start,
center,
end
text_vertical_align
enum<string>

The vertical alignment of text lines, either 'start' (top), 'center', or 'end' (bottom).

Available options:
start,
center,
end
waveform_color
string

The color of the audio waveform bars. Supports CSS colors including linear-gradient(to right, ...)

content_image_enabled
boolean

When true, uses the content's featured image as video background

image_extraction_enabled
boolean

When true, automatically extracts images from HTML content. Alternatively, set the data-beyondwords-image='true' attribute.

pan_and_zoom_enabled
boolean

When true, applies pan and zoom effects to background images

audio_and_waveform_enabled
boolean

When true, video includes audio and animated waveform visualization

text_captions_enabled
boolean

When true, displays text captions overlaid on the video

playback_mode
enum<string>

The playback mode for images in the video. There are three available options. A value of 'cycle' will cycle through images, potentially repeating them according to cycle_time. A value of 'space-evenly' will space images evenly throughout the video without repeating them. A value of 'follow-article' will show images at the point when they appear in the article. Note that 'follow-article' is not applicable for summaries which have different text.

Available options:
cycle,
space-evenly,
follow-article
cycle_time
integer

The time in milliseconds to show each image when playback_mode is set to 'cycle'.

Required range: 1000 <= x <= 60000
variants
string[]

Response

successful

enabled
boolean

When true, video generation is enabled for this project

logo_image_url
string<uri> | null

The logo that should appear in the corner of the video. Defaults to the BeyondWords logo.

Maximum length: 2048
logo_image_position
enum<string>

The position of the logo that appears in the corner of the video.

Available options:
top-left,
top-right
background_color
string

The background color of the video when there is no image. Supports CSS colors including linear-gradient(to right, ...)

text_background_color
string

The background color to show behind text. Supports CSS colors including linear-gradient(to right, ...)

text_color
string

The foreground color of text. Supports CSS colors including linear-gradient(to right, ...)

text_highlight_color
string

The foreground color of text whilst the word is being read out. Supports CSS colors including linear-gradient(to right, ...)

text_shadow
string

Text shadow of non-highlighted words (CSS format, supports linear-gradient(to right, ...))

Maximum length: 200
text_highlight_shadow
string

Text shadow of highlighted words (CSS format, supports linear-gradient(to right, ...))

Maximum length: 200
text_stroke
string

Text outline of non-highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)

Maximum length: 200
text_highlight_stroke
string

Text outline of highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)

Maximum length: 200
text_fonts
string[]

A list of fonts to use. Fonts will be prioritized automatically based on glyph coverage for the text. The default fonts are built-in, but you can include remote URLs to custom fonts in .ttf or .otf format.

text_font_size
integer

Font size for text captions (30-90).

Required range: 30 <= x <= 90
text_lines
integer | null

The maximum number of lines of text to show at once. Must be between 1 and 5. If not specified, text_lines will default to landscape=4, square=5, portrait=5.

Required range: 1 <= x <= 5
text_words
integer | null

Maximum number of words to show per line

Required range: x >= 1
text_horizontal_align
enum<string>

The horizontal alignment of text lines, either 'start', 'center', or 'end'. A value of 'start' aligns the text to the left for left-to-right languages, right otherwise. A value of 'end' aligns the text to the right for left-to-right languages, left otherwise.

Available options:
start,
center,
end
text_vertical_align
enum<string>

The vertical alignment of text lines, either 'start' (top), 'center', or 'end' (bottom).

Available options:
start,
center,
end
waveform_color
string

The color of the audio waveform bars. Supports CSS colors including linear-gradient(to right, ...)

content_image_enabled
boolean

When true, uses the content's featured image as video background

image_extraction_enabled
boolean

When true, automatically extracts images from HTML content. Alternatively, set the data-beyondwords-image='true' attribute.

pan_and_zoom_enabled
boolean

When true, applies pan and zoom effects to background images

audio_and_waveform_enabled
boolean

When true, video includes audio and animated waveform visualization

text_captions_enabled
boolean

When true, displays text captions overlaid on the video

playback_mode
enum<string>

The playback mode for images in the video. There are three available options. A value of 'cycle' will cycle through images, potentially repeating them according to cycle_time. A value of 'space-evenly' will space images evenly throughout the video without repeating them. A value of 'follow-article' will show images at the point when they appear in the article. Note that 'follow-article' is not applicable for summaries which have different text.

Available options:
cycle,
space-evenly,
follow-article
cycle_time
integer

The time in milliseconds to show each image when playback_mode is set to 'cycle'.

Required range: 1000 <= x <= 60000
variants
string[]