← Plugin catalog
Creativity

LiveReacting

LiveReacting v1.0.2

Pre-recorded, 24/7 livestreams

Full description ↓

View on ChatGPT ↗

Save this plugin to Following and return to review observed changes. Follow up to 10 plugins free.

Description

From the marketplace listing

Run a 24/7 live stream of pre-recorded videos, or live stream one recorded video at the time you choose, from ChatGPT. Your old videos, lessons, podcast episodes or lofi beats play as one continuous livestream, looped from a playlist in the order you choose. LiveReacting's servers do the streaming, so your computer can be off. With this plugin you build the stream from your LiveReacting video library, multistream it to YouTube, Facebook, Twitch or any other platform, schedule it to go live later, change the playlist while it is live, and check how it is running. Streams you built in LiveReacting with overlays, polls or trivia start from here too. You need a LiveReacting account that includes API access. Connect your channels once in LiveReacting, and the plugin uses them. Videos come from your library, a direct link, Google Drive, Dropbox, or videos you already published on your own YouTube channel.

Language: English · Automatically detected from descriptions.

Competitor profile

From the developer’s listing and package; capabilities are not independently tested. Package observed Nov 2, 2026.

Declared capabilities

Pre-recorded, 24/7 livestreams

Declared limitations

Specific limitations have not been established. Missing information does not mean unrestricted capabilities.

Cost & access

Pricing and account requirements have not been established from the available package declarations. Unknown pricing does not mean free access.

Starter prompt

Loop the videos from my LiveReacting library as a 24/7 live stream on my YouTube channel

View package source →

Files & skills

File archives

Plugin package4 files · 4.33 KBBrowse files →
Skill instructions
create-24-7-channel5.54 KB

View saved version →

---
name: create-24-7-channel
description: Build and start a 24/7 LiveReacting live stream that loops pre-recorded videos on YouTube, Facebook, Twitch or a custom RTMP destination. Use when the user wants a continuous, always-on or looping live stream from their videos, or wants to add videos to such a channel.
---

# Create a 24/7 channel

Use the new-channel steps below only when the user requests a new channel. For changes to
an existing channel, follow 'Changing the playlist later' instead. Do not create another
project or start a stream for a playlist edit. Respect requests to prepare a channel without
starting it. Ask before going on air unless the user already authorized that action.

## 1. Choose where it streams

1. Call `livereacting_list_destinations`.
2. If the destination the user wants is missing, stop. Tell the user to connect it once in the
   LiveReacting Studio (studio.livereacting.com). Destinations cannot be added from here.
3. Confirm the destination by name with the user.

## 2. Get the videos ready

1. Call `livereacting_list_media` with `type: "video"` and find the videos the user named.
   Follow `nextOffset` before treating a video as missing.
2. For a video that is not in the library yet:
   - Google Drive, Dropbox, or one video from the user's own YouTube channel:
     `livereacting_import_media`. YouTube playlist and channel links are refused; import one
     video link at a time.
   - A direct link to a video file: `livereacting_import_from_url`.
   - Only one import runs at a time per account. Import the videos one after another.
3. Poll `livereacting_get_import_status` no more than every 10 seconds. `done` is not enough:
   read `usable`. Stop and report an import error when `status` is `error`. Otherwise,
   when `usable` is false, follow `nextStep`.
4. Read each selected file with `livereacting_get_media_file`, including files already in
   the library. If it needs encoding, call `livereacting_encode_media` once. If it is
   already queued or encoding, wait for that job instead.
5. Poll `livereacting_get_encode_status` no more than every 15 seconds. After each check,
   read the selected file again with `livereacting_get_media_file`. While `issues.errors`
   includes `encoding_in_progress`, keep waiting. A file missing from one queue page is
   not proof that encoding finished or succeeded.
6. Once encoding is no longer active, require `issues.errors` to be empty. If errors
   remain, stop and report them. Do not automatically encode the same file again.
7. Every video must pass this file-level check before building or changing a playlist.

## 3. Build the channel

1. Call `livereacting_create_project` with the destination ids, `duration: { manual: true }` and
   `autoSynch: true`. A project without a duration stops after one hour.
2. Call `livereacting_create_scene_with_playlist` with the video file ids in the order the user
   wants. The playlist loops by default.
3. Call `livereacting_validate_destinations` for the chosen destinations. If one is not valid,
   tell the user to reconnect it in the Studio before going live.

## 4. Go live

1. State the destinations and that the new stream is public. Obtain authorization to
   start unless the user already gave it. Stop here for a prepare-only request.
2. Call `livereacting_start_stream` once. Never repeat it after a timeout: call
   `livereacting_get_stream_status` instead. `PREPARING` or `LIVE` means it started.
3. Poll `livereacting_get_stream_status` no more than every 5 seconds for at most two
   minutes. Stop polling when it reports `LIVE`, `OFFLINE`, an overall error, or a
   destination error or completed destination. Report which destinations succeeded
   and which failed; overall `LIVE` does not prove that every destination works.
4. If it still reports `PREPARING` after two minutes, report that it is still starting
   and include the project and live ids for a later status check. Do not start again
   or stop the stream automatically.
5. Share a destination watch link only when its `viewingUrl` is present. If a
   destination reports `AUTH_ERROR`, the user must reconnect it in the Studio.

## Limits to tell the user up front

- A 24/7 stream needs a plan without a stream-length limit. Every plan stops the stream at its
  maximum length, even with a manual duration.
- A Facebook-only stream stops after 8 hours. Add another destination for longer runs.
- The account allows 150 requests per minute across all tools. Do not poll faster than stated.

## Changing the playlist later

1. Find the existing project with `livereacting_list_projects`, following `nextOffset`
   as needed. Use `livereacting_get_scenes` to find its playlist layer. If more than
   one project or playlist matches, ask which one the user wants to change.
2. For added videos, follow section 2 to import and check them. Then return here; do
   not run the new-channel build or start steps.
3. Read the whole playlist with `livereacting_get_layer`, using the existing `projectId`
   and `layerId`. Follow `nextOffset` until it is null.
4. Tell the user before writing: replacing the playlist restarts playback from the
   first video. Preserve the existing order and settings except for the requested edit.
5. Apply the change to the complete list and send it to `livereacting_set_playlist` with
   the existing `projectId` and `layerId`. Sending only the new video deletes the others.
   After a timeout, read the playlist instead of repeating the write.
6. Report whether the response says the edit reached the running stream. If it did not,
   explain that the saved playlist changed; do not claim that viewers see the edit.
schedule-recorded-broadcast4.43 KB

View saved version →

---
name: schedule-recorded-broadcast
description: Schedule one pre-recorded video to go live on YouTube, Facebook, Twitch or a custom RTMP destination at a set date and time with LiveReacting, like a premiere or a webinar replay. Use when the user wants a recorded video to air live later, at a specific time.
---

# Schedule a recorded broadcast

Air one recorded video as a live stream at a time the user chooses. The stream starts and ends
by itself. Confirm the time with the user before scheduling anything.

## 1. Confirm the time

1. Get the date, the time and the user's time zone. If the time zone is unclear, ask.
2. Convert it to an ISO 8601 time in UTC.
3. The start must be at least 3 minutes and at most 28 days in the future. If it is not, ask
   for another time.
4. Repeat the time back to the user in their time zone and in UTC.

## 2. Get the video ready

1. Call `livereacting_list_media` with `type: "video"` to find the video. Follow
   `nextOffset` before treating it as missing.
2. If it is not in the library:
   - Google Drive, Dropbox, or one video from the user's own YouTube channel:
     `livereacting_import_media`.
   - A direct link to a video file: `livereacting_import_from_url`.
3. Poll `livereacting_get_import_status` no more than every 10 seconds. Read `usable`, not only
   `done`. Stop and report an import error when `status` is `error`. Otherwise, when
   `usable` is false, follow `nextStep`.
4. Read the file with `livereacting_get_media_file`, including a file already in the
   library. If it needs encoding, call `livereacting_encode_media` once. If it is
   already queued or encoding, wait for that job instead.
5. Poll `livereacting_get_encode_status` no more than every 15 seconds. After each check,
   read the selected file again with `livereacting_get_media_file`. While `issues.errors`
   includes `encoding_in_progress`, keep waiting. A file missing from one queue page is
   not proof that encoding finished or succeeded.
6. Once encoding is no longer active, require `issues.errors` to be empty. If errors
   remain, stop and report them. Do not automatically encode the same file again.
7. Call `livereacting_get_media_file` with `includeMetadata: true` and note `durationSec`.
   Require a positive duration; if it is missing, stop rather than inventing a length.

## 3. Build the broadcast

1. Call `livereacting_list_destinations` and confirm the destination with the user. If it is
   missing, the user must connect it once in the LiveReacting Studio.
2. Call `livereacting_create_project` with the destination ids and a fixed duration:
   `duration: { manual: false, planned: <durationSec rounded up, at least 30> }`. The stream then
   ends when the video ends. Do not add extra time: the stream keeps running for the whole planned
   duration, after the video has finished.
3. Call `livereacting_create_scene_with_playlist` with the one file id and `loop: false`, so the
   video plays once.

## 4. Schedule it

1. Call `livereacting_get_project` with `includeScheduledLives: true`. If the project already has
   a schedule, ask whether the user wants to replace it. Do not cancel it yet.
2. Recheck the requested start against the current UTC time. It must still be at least
   3 minutes and at most 28 days ahead. Preparation may have taken several minutes. If it is
   outside that range, stop and ask for another time. Never move it silently.
3. If an existing schedule needs replacement and the user authorized it, call
   `livereacting_cancel_schedules`. Recheck the time range again after cancellation.
   If the time is now outside the range, stop and ask for another time before scheduling.
4. Immediately after the time check, call `livereacting_schedule_stream` with the created
   `projectId` and `dates: [<the UTC time>]`. If it rejects the date as too soon, ask for another
   time instead of retrying the same date or choosing a new time yourself.
5. After a successful response, report the confirmed start time in the user's time zone and
   in UTC, the length, and the destination. Say that LiveReacting starts and stops it by itself,
   so the user's computer can be off.

## Good to know

- Do not call `livereacting_start_stream` on a scheduled project: it returns the existing
  schedule and starts nothing.
- To change the time, cancel the schedule with `livereacting_cancel_schedules`, then schedule
  again.
- Title and description changes made later with `livereacting_update_project` also update the
  scheduled broadcast on the platform.
Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
LiveReacting

Package observed Nov 2, 2026.

Technical details
First seen
Oct 29, 2026 · 18:00 UTC
Last seen
Nov 3, 2026 · 18:00 UTC
Collection status
Collected

plugin_asdk_app_6abbfaf2da708191bcbf683951ca32ff

Download plugin data (JSON)