Get a content item from your project
curl --request GET \
--url https://api.beyondwords.io/v1/projects/{project_id}/content/{id} \
--header 'X-Api-Key: <api-key>'{
"id": "d7dfd636-098c-4b1b-83e5-15a3cba5a0bd",
"status": "processed",
"type": "auto_segment",
"title": "<h1 data-beyondwords-marker=\"h1-title\">Example title</h1>",
"summary": "<h2 data-beyondwords-marker=\"h2-summary\">This article is about TTS</h2>",
"body": "<p data-beyondwords-marker=\"paragraph-1\">Example body</p>",
"source_id": "example-source-id",
"source_url": "https://example.com/some-article",
"author": "John Smith",
"image_url": "https://example.com/image.jpeg",
"title_enabled": true,
"body_enabled": true,
"summary_enabled": true,
"metadata": {
"key": "value"
},
"audio": [
{
"id": 1,
"content_type": "application/vnd.apple.mpegurl",
"url": "https://example.com/audio.m3u8",
"duration": 10000
},
{
"id": 2,
"content_type": "audio/mpeg,",
"url": "https://example.com/audio.mp3",
"duration": 10000
}
],
"video": [
{
"id": 1,
"content_type": "video/mp4",
"url": "https://example.com/waveform-video.mp4",
"duration": 10000
}
],
"segments": [
{
"id": 1,
"section": "title",
"marker": "h1-title",
"xpath": "/html/body/h1",
"md5": "0cc175b9c0f1b6a831c399e269772661",
"content_type": "text",
"text": "Example title",
"audio_url": null,
"image_url": null,
"language": {
"code": "en_GB",
"name": "English"
},
"voice": {
"id": 123,
"name": "Jane"
},
"preprocessing_settings": {
"ai_preprocessing_enabled": true
},
"start_time": 3,
"duration": 2000,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
},
{
"id": 2,
"section": "summary",
"marker": "h2-summary",
"xpath": "/html/body/h2",
"md5": "0cc175b9c0f1b6a831c399e269772661",
"content_type": "text",
"text": "This article is about text-to-speech",
"audio_url": null,
"image_url": null,
"language": {
"code": "en_GB",
"name": "English"
},
"voice": {
"id": 123,
"name": "Jane"
},
"preprocessing_settings": null,
"start_time": 2006,
"duration": 6000,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
},
{
"id": 3,
"section": "body",
"marker": "paragraph-1",
"xpath": "/html/body/p[1]",
"md5": "0cc175b9c0f1b6a831c399e269772661",
"content_type": "text",
"text": "Example title",
"audio_url": null,
"image_url": null,
"language": {
"code": "en_GB",
"name": "English"
},
"voice": {
"id": 123,
"name": "Jane"
},
"preprocessing_settings": null,
"start_time": 8009,
"duration": 1991,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
}
],
"ads_enabled": true,
"auto_segment_updates_enabled": true,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
}The numeric ID of your project
The content item's identifier, one of: UUID, source ID, legacy ID
The level of detail to show for segments in the response: 'none', 'partial' or 'full'
The level of detail to show for segment words in the response: 'none', 'partial' or 'full'
OK
Unique identifier for the content. Can be either a UUID or an externally provided source_id
The current status of the content processing operation. This value will change as the content is processed.
draft, queued, processing, processed, skipped, error The content type. Possible values are auto_segment, manual_segment or audio_upload
auto_segment, manual_segment, audio_upload The content title
1 - 500The content summary
2000The content body
100000The flag to enable title segments in audio
The flag to enable body segments in audio
The flag to enable summary audio
The flag to include title text and audio segments in summaries
The externally-provided source identifier of the content
The URL that contains the source content
The author of the content
The feature image URL of the content
The arbitrary metadata associated with content
The array of audio files for the entire content
Show child attributes
Unique identifier for the object
The variant type of the audio content
article, summary Not applicable for audio content
16:9, 9:16 MIME type of the audio file (MP3 or HLS playlist)
audio/mpeg, application/x-mpegURL Direct URL to the audio file
Duration of the audio file in milliseconds
Base64-encoded content of HLS playlist metadata files
The array of video files for the entire content
Show child attributes
Unique identifier for the object
The variant type of the video content
article, summary The orientation of the video content
16:9, 9:16 MIME type of the video file (MP4 or HLS playlist)
video/mp4, application/x-mpegURL Direct URL to the video file
Duration of the video file in milliseconds
The content of the media file encoded as base64. Only present for .m3u8 metadata files
Show child attributes
Unique identifier for the object
The variant type of the audio content
article, summary Not applicable for audio content
16:9, 9:16 MIME type of the audio file (MP3 or HLS playlist)
audio/mpeg, application/x-mpegURL Direct URL to the audio file
Duration of the audio file in milliseconds
Base64-encoded content of HLS playlist metadata files
Show child attributes
The array of summary audio files for the entire content
Show child attributes
Unique identifier for the object
The variant type of the audio content
article, summary Not applicable for audio content
16:9, 9:16 MIME type of the audio file (MP3 or HLS playlist)
audio/mpeg, application/x-mpegURL Direct URL to the audio file
Duration of the audio file in milliseconds
Base64-encoded content of HLS playlist metadata files
The array of summary video files for the entire content
Show child attributes
Unique identifier for the object
The variant type of the video content
article, summary The orientation of the video content
16:9, 9:16 MIME type of the video file (MP4 or HLS playlist)
video/mp4, application/x-mpegURL Direct URL to the video file
Duration of the video file in milliseconds
The content of the media file encoded as base64. Only present for .m3u8 metadata files
The array of segments in the content
Show child attributes
Unique identifier for the segment
Custom marker for segment identification and playback control
255XPath selector for locating this segment in the original HTML document
1000MD5 hash of the segment text to support per-segment playback
Content section type: title for headlines, summary for summaries, or body for main content
title, summary, body Segment content type: text for text-to-speech, audio for pre-recorded audio, or image for visual content in videos
text, audio, image Plain text content for text-to-speech conversion. Required when content_type is text
1000URL to pre-recorded audio file. Required when content_type is audio
2048URL to image file for visual content. Required when content_type is image
2048Start time of this segment in the generated audio/video (milliseconds). May differ from calculated duration due to audio processing
x >= 0Duration of this segment in milliseconds
x >= 0Time at which the object was created (ISO 8601)
Time at which the object was updated (ISO 8601)
Show child attributes
Whether the content will appear in the BeyondWords players and podcast feeds
Whether the content will appear in the BeyondWords video players and podcast video feeds
Time at which the content was published or is scheduled to be published (ISO 8601)
Whether adverts will play for this content in the BeyondWords players
The last used AI prompt for summary generation
1000Whether the summary segments will be regenerated when the text content is updated
Whether the media files will be regenerated when the text content is updated with auto_segment
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
When true, AI-powered summarization is enabled
Custom prompt for AI summarization generation
gpt-3.5-turbo, gpt-4o-mini, gpt-5-nano, gpt-5-mini Controls randomness in AI summarization (0.0 = deterministic, 2.0 = very random)
0 <= x <= 2Maximum number of tokens to use for AI summarization
1 <= x <= 3000Show child attributes
Unique identifier for the object
gpt-3.5-turbo, gpt-4o-mini, gpt-5-nano, gpt-5-mini Custom prompt for AI summarization generation
3000Controls randomness in AI summarization (0.0 = deterministic, 2.0 = very random)
0 <= x <= 2Maximum number of tokens to use for AI summarization
1 <= x <= 500Show child attributes
When true, video generation is enabled for this content
When true, video includes audio and animated waveform visualization
100When true, uses the content's featured image as video background
When true, automatically extracts images from HTML content for video backgrounds
top-left, top-right 2048When true, applies pan and zoom effects to background images
Text transformation to apply to captions
none, uppercase, lowercase, titlecase Background color for text captions (CSS color format)
100When true, displays text captions overlaid on the video
Color of the text captions (CSS color format)
100Color of the text captions to show on every other scene (CSS color format)
100Color of highlighted text during playback (CSS color format)
100Color of highlighted text to show on every other scene (CSS color format)
100Color of the background behind the highlighted text (CSS color format, supports linear-gradient(to right, ...))
100Text shadow of non-highlighted words (CSS format, supports linear-gradient(to right, ...))
200Text shadow of highlighted words (CSS format, supports linear-gradient(to right, ...))
200Text outline of non-highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)
200Text outline of highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)
200List of font families to use for text rendering (prioritized by glyph coverage)
10255Font size for text captions (30-90)
30 <= x <= 90Maximum number of text lines to display simultaneously (1-5)
1 <= x <= 5Maximum number of words to show per line
x >= 1The 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.
start, center, end The vertical alignment of text lines, either 'start' (top), 'center', or 'end' (bottom).
start, center, end The text animation to show
classic, reveal, karaoke, pop The image entrance animation to show
none, fade, zoom-in, zoom-out, slide-up, slide-down, slide-left, slide-right, pop The image exit animation to show
none, fade, zoom-in, zoom-out, slide-up, slide-down, slide-left, slide-right, pop Color of the audio waveform visualization (CSS color format)
100How images are displayed: cycle (repeat), space-evenly (distribute), or follow-article (match text position)
cycle, space-evenly, follow-article Duration to show each image when playback_mode is 'cycle' (milliseconds, 1-60 seconds)
1000 <= x <= 60000Show child attributes
Unique identifier for the object
The logo that should appear in the corner of the video. Defaults to the BeyondWords logo.
2048The position of the logo that appears in the corner of the video.
top-left, top-right The background color of the video when there is no image. Supports CSS colors including linear-gradient(to right, ...)
Text transformation to apply to captions
none, uppercase, lowercase, titlecase The background color to show behind text. Supports CSS colors including linear-gradient(to right, ...)
The foreground color of text. Supports CSS colors including linear-gradient(to right, ...)
Color of the text captions to show on every other scene (CSS color format)
The foreground color of text whilst the word is being read out. Supports CSS colors including linear-gradient(to right, ...)
Color of highlighted text to show on every other scene. Supports CSS colors including linear-gradient(to right, ...)
100Color of the background behind the highlighted text (CSS color format, supports linear-gradient(to right, ...))
100Text shadow of non-highlighted words (CSS format, supports linear-gradient(to right, ...))
200Text shadow of highlighted words (CSS format, supports linear-gradient(to right, ...))
200Text outline of non-highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)
200Text outline of highlighted words (CSS format, supports linear-gradient(to right, ...) and inside/center/outside)
200A 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.
Font size for text captions (30-90).
30 <= x <= 90The 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.
1 <= x <= 5Maximum number of words to show per line
x >= 1The 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.
start, center, end The vertical alignment of text lines, either 'start' (top), 'center', or 'end' (bottom).
start, center, end The text animation to show
classic, reveal, karaoke, pop The entrance animation for image and video segments
none, fade, zoom-in, zoom-out, slide-up, slide-down, slide-left, slide-right, pop The exit animation for image and video segments
none, fade, zoom-in, zoom-out, slide-up, slide-down, slide-left, slide-right, pop The color of the audio waveform bars. Supports CSS colors including linear-gradient(to right, ...)
When true, uses the content's featured image as video background
When true, automatically extracts images from HTML content. Alternatively, set the data-beyondwords-image='true' attribute.
When true, applies pan and zoom effects to background images
When true, video includes audio and animated waveform visualization
When true, displays text captions overlaid on the video
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.
cycle, space-evenly, follow-article The time in milliseconds to show each image when playback_mode is set to 'cycle'.
1000 <= x <= 60000The default language of the content
Time at which the object was created (ISO 8601)
Time at which the object was updated (ISO 8601)
Was this page helpful?
curl --request GET \
--url https://api.beyondwords.io/v1/projects/{project_id}/content/{id} \
--header 'X-Api-Key: <api-key>'{
"id": "d7dfd636-098c-4b1b-83e5-15a3cba5a0bd",
"status": "processed",
"type": "auto_segment",
"title": "<h1 data-beyondwords-marker=\"h1-title\">Example title</h1>",
"summary": "<h2 data-beyondwords-marker=\"h2-summary\">This article is about TTS</h2>",
"body": "<p data-beyondwords-marker=\"paragraph-1\">Example body</p>",
"source_id": "example-source-id",
"source_url": "https://example.com/some-article",
"author": "John Smith",
"image_url": "https://example.com/image.jpeg",
"title_enabled": true,
"body_enabled": true,
"summary_enabled": true,
"metadata": {
"key": "value"
},
"audio": [
{
"id": 1,
"content_type": "application/vnd.apple.mpegurl",
"url": "https://example.com/audio.m3u8",
"duration": 10000
},
{
"id": 2,
"content_type": "audio/mpeg,",
"url": "https://example.com/audio.mp3",
"duration": 10000
}
],
"video": [
{
"id": 1,
"content_type": "video/mp4",
"url": "https://example.com/waveform-video.mp4",
"duration": 10000
}
],
"segments": [
{
"id": 1,
"section": "title",
"marker": "h1-title",
"xpath": "/html/body/h1",
"md5": "0cc175b9c0f1b6a831c399e269772661",
"content_type": "text",
"text": "Example title",
"audio_url": null,
"image_url": null,
"language": {
"code": "en_GB",
"name": "English"
},
"voice": {
"id": 123,
"name": "Jane"
},
"preprocessing_settings": {
"ai_preprocessing_enabled": true
},
"start_time": 3,
"duration": 2000,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
},
{
"id": 2,
"section": "summary",
"marker": "h2-summary",
"xpath": "/html/body/h2",
"md5": "0cc175b9c0f1b6a831c399e269772661",
"content_type": "text",
"text": "This article is about text-to-speech",
"audio_url": null,
"image_url": null,
"language": {
"code": "en_GB",
"name": "English"
},
"voice": {
"id": 123,
"name": "Jane"
},
"preprocessing_settings": null,
"start_time": 2006,
"duration": 6000,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
},
{
"id": 3,
"section": "body",
"marker": "paragraph-1",
"xpath": "/html/body/p[1]",
"md5": "0cc175b9c0f1b6a831c399e269772661",
"content_type": "text",
"text": "Example title",
"audio_url": null,
"image_url": null,
"language": {
"code": "en_GB",
"name": "English"
},
"voice": {
"id": 123,
"name": "Jane"
},
"preprocessing_settings": null,
"start_time": 8009,
"duration": 1991,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
}
],
"ads_enabled": true,
"auto_segment_updates_enabled": true,
"created": "2023-01-01 00:00:00 UTC",
"updated": "2023-01-01 00:00:05 UTC"
}