RTST AI
RTST AI (VISATECH S.R.L.) v0.1.0
Create AI images and videos
Competitor profile
Developer declarations; not independently tested. Listing last checked Nov 4, 2026. Package observed Nov 3, 2026.
Declared capabilities
- Read
- Write
Cost & access
No purchases happen in ChatGPT. Generations spend credits from the user's existing rtst.ai account.
Declared limitations
- Not enough credits for the requested video: show required vs. available credits, submit nothing, and link to rtst.ai.
- Blocked by rtst.ai content moderation: relay the refusal, suggest a fully covered alternative, and do not switch models to get around it.
- No delete tool exists: decline, link the image on rtst.ai to delete it there, and say it has not been deleted.
Onboarding example
Use RTST to create a poster of a red panda barista pulling espresso in a cozy café, golden hour.
Description
From the marketplace listing
RTST AI connects your rtst.ai account so you can create images and videos just by describing them. Finished images, and playable videos, appear right in the conversation. What you can do: - Generate images: text-to-image, editing your own photos, variations, grids and multiple samples, with each model's own sizes and aspect ratios. - Generate videos: text-to-video and image-to-video with first/last-frame control, reference images and optional audio. - Motion transfer: animate a character image with the motion from a reference video. - Use your own images: attach a photo, pick one in the in-chat uploader, or import any public image by URL. - Browse and reuse: your image, video and motion-transfer library, with one-click animate, variation, remix and use-as-reference. Generations are private to your rtst.ai library unless you ask to publish them. Sign in with your rtst.ai account, or create one during sign-in; your password is never shared and you can disconnect at any time.
Language: English · Automatically detected from descriptions.
Screenshots
From the developer.
Changes
No changes recorded yet. Follow this plugin to keep track of future changes.
First seen Oct 29, 2026. Last seen Nov 4, 2026.
Similar plugins
Find competitors to follow as you develop your plugin.
-
Generate and edit images and video with Batch Banana from your agent, and run batches of many prompts. Pick a model and a style, generate...
Shared terms: video, image, aspect, browse
-
Create images and videos, work with saved references, and retrieve original media from your Scenelith workspace.
Shared terms: video, image, browse, character
-
Generate and edit images, videos, audio, and 3D assets with fal.
Shared terms: video, image, audio, browse
-
Create AI videos, images and voiceovers in chat with your Flashloop account.
Shared terms: video, image, aspect, audio
-
Create images and videos with selectable models through seven static actions on the hosted Media.io MCP server.
Shared terms: video, image, audio, finished
Keywords
Files & skills
File archives
Skill instructions
animate-character2.46 KB
---
name: animate-character
description: Animate a character image with the motion from a reference video using RTST (rtst.ai) motion transfer — make a person, mascot or illustration perform a dance, gesture or movement taken from another clip. Use when the user wants their character or photo to copy the moves in a video, and when an RTST card button picks a motion reference video or asks for another motion transfer.
---
# Motion transfer with RTST
Tools: `motion_transfer`, `estimate_cost`, `list_videos`, `job_status`.
1. **The model is fixed.** `motion_transfer` always runs RTST's Wan motion-transfer
model. Never ask the user to pick a motion model and never list models for this.
2. **Character image** — a hosted https URL. Use `use-my-media` for the user's own
photo (a new request opens the uploader again; reuse an earlier upload only if the
user points to it), or an image they pick from their library (`list_images`).
3. **The motion.** Either:
- `reference_video_url`: a hosted https video the **user** chose: one of their RTST
videos or a public https video URL. If they have not said which, show their videos
with `list_videos` and **wait**: in ChatGPT they pick one with the card's **Use this
motion** button. Never choose a reference video yourself. Videos cannot be uploaded
through this plugin; `media_upload` and `media_import_url` take images only.
- `template_id`: only if the user already has an RTST motion template id.
4. **Mode.** Leave `mode` out (standard). Send `"pro"` only if the user asks for higher
quality.
5. **Quote.** Call `estimate_cost` with `type: "motion"` and the reference clip's
`duration` in seconds if you know it; otherwise give the per-second rate. Tell the
user it is an estimate, and get a yes before submitting.
6. **Submit** with `motion_transfer`, once. In ChatGPT the card follows the job: do not
call `job_status`. Elsewhere call `job_status` with `kind: "motion"` and
`sync: true`, and report the result URL when it finishes.
7. Finished transfers are listed by `list_videos` with `kind: "motion"`.
## Messages sent by RTST card buttons
- "Use this video as the motion reference for my rtst.ai motion transfer: …" → that URL
as `reference_video_url`. If there is no character image yet, get one with
`use-my-media`; then quote and wait for a yes.
- "Make another motion transfer like this one with rtst.ai: …" → same inputs and model,
or the change the user asks for; quote again.
create-image3.99 KB
--- name: create-image description: Create or edit images with RTST (rtst.ai) on the user's account — text-to-image, editing or restyling a photo, variations, grids and several samples, on any RTST image model. Use when the user asks RTST to generate, draw, design, edit or vary a picture, and when an RTST card button asks for a variation, an edit, a different image model, a retry, or to use an image as a reference. --- # Create an image with RTST Tools: `get_model`, `list_models`, `estimate_cost`, `generate_image`, `job_status`, `enhance_prompt`. Bringing in the user's own image is the `use-my-media` skill. 1. **Pick the model.** If the user named one, call `get_model` with their wording (`type: "image"`) and use the exact `name` it returns. If it returns several `matches`, take the one the user meant or ask. Otherwise choose one yourself from `list_models` (`type: "image"`, no card) by each model's `description` and `credit_cost` (`is_free` models suit quick drafts), and tell the user which you picked. Call `show_models` only if they ask to see the models. Never invent a model name. 2. **Read the model's `params`.** Each image model lists the controls it accepts (`key`, `type`, `options` or `min`/`max`). `aspect_ratio`, `resolution`, `quality` and similar keys go inside `generate_image`'s `params` under exactly that key, using only a listed option. `samples` is its own argument (the model's `max` applies). A model that does not list a key does not take it. 3. **Write the prompt.** Expand a terse request into a detailed prompt: subject, action, setting, lighting, mood, composition, style; for photographic looks add camera, lens and aperture. If the user wants help with wording, `enhance_prompt` returns a richer version; show it before using it. 4. **Images in.** Editing or referencing needs hosted https URLs in `image`: the first is the image to edit, the rest are references (up to the model's `reference_images` max). Get them with `use-my-media`. 5. **Quote when it costs.** For a paid model, `samples` > 1, a grid or a higher tier, call `estimate_cost` with `type: "image"` and the same arguments you will generate with, and tell the user the credits. If `can_afford` is false, do not submit: show `balance` and point to https://rtst.ai/pricing. 6. **Generate** with `generate_image`. Output is private to the user's library; send `private: false` only if the user asks to publish it. 7. **Finish the job.** If `state` is `"pending"`: in ChatGPT the card finishes it, so do not call `job_status`; elsewhere call `job_status` once with `kind: "image"` and `sync: true`. Never resubmit a job that is still running. 8. **Reply.** In ChatGPT a card shows the result: do not repeat the URLs; say which model ran, what it cost, and offer a next step (variation, edit, animate with `create-video`). Where no card renders (Codex, Claude Code), give the image URL(s) and `web_url`. If a generation is refused for safety, say so and suggest a different prompt; do not switch models to get around a safety filter. If it failed for credits, show `balance`. ## Messages sent by RTST card buttons - "Generate another variation of that image with rtst.ai, same style, different composition." → same model and prompt, varied composition. - "Edit the image … with rtst.ai: …" → `image: [that URL]` plus the user's instruction. - "Use this image as the reference for my next rtst.ai generation: …" → keep the URL for the next generation's `image` (or a video's frames, via `create-video`). - "Use the … (…) image model on rtst.ai for my next image. Ask me for the prompt if needed." → use that model (`get_model` for its `params`); ask for the prompt if none was given. - "Retry that rtst.ai generation with an adjusted prompt or a different model." → read why it failed first; for a safety refusal change the prompt, not the model. - "Generate a … with rtst.ai: …" (an empty gallery's Create button) → start here, or in `create-video` for a video.
create-video4.16 KB
---
name: create-video
description: Create videos with RTST (rtst.ai) on the user's account — text-to-video, animating an image (first/last frame), reference images and optional audio, on any RTST video model, always quoting the credit cost first. Use when the user asks RTST to make, animate or remix a video or clip, and when an RTST card button asks to animate an image, make another take, a longer or higher-resolution version, a remix, or to use a video model.
---
# Create a video with RTST
Tools: `get_model`, `list_models`, `estimate_cost`, `generate_video`, `job_status`,
`enhance_prompt`, `balance`. Bringing in the user's own image is the `use-my-media` skill.
1. **Pick the model.** If the user named one, call `get_model` with their wording
(`type: "video"`) and use the exact `name` it returns. Otherwise choose one yourself
from `list_models` (`type: "video"`, no card) by `description`, and tell the user
which model you picked and why. Call `show_models` only if they ask to see the
models. Never invent one.
2. **Take every setting from that model's entry.** `aspect_ratio` and `duration` from its
lists (most models require both); `resolution` from `resolutions`; `audio: true` only
if `is_audio_supported`; images only if `is_image_supported`, and a `last_frame` only
if `supported_frames` allows it.
3. **Write the prompt** — at least 10 words, describing subject, motion, camera move,
setting and mood. If it is shorter, offer `enhance_prompt` and show the result.
4. **Images in** (hosted https URLs, from `use-my-media`):
- Animate an image: `first_frame` (and optionally `last_frame`).
- Subject, style or scene references: `reference_images`, cited in the prompt as
`{{img1}}`, `{{img2}}`… in array order.
- Seedance 2.x takes frames **or** references in one job, never both.
5. **Always quote first.** Video always costs credits. Only the `estimate_cost` number may
be quoted: `credits_per_second` is a base rate that resolution and audio change either
way (480p can cost less than half of 1080p), and Seedance 2.x has no rate at all
(`pricing`, token-priced). Never work a price out from a rate. Call `estimate_cost` with
`type: "video"` and the same arguments you will generate with. Tell the user the
credits and the settings you chose (duration, aspect ratio, resolution, audio), then
**stop and wait**: submit only after the user says to go ahead, or changes a setting
(quote again). If `can_afford` is false, do not submit: show `balance` and point to
https://rtst.ai/pricing.
6. **Generate** with `generate_video`, once, after the go-ahead. The video is private to the user's library;
send `private: false` only if the user asks to publish it.
7. **Follow the job.** Videos take about 1–3 minutes. In ChatGPT the card follows the
job and plays the video when it is done: do not call `job_status`, just tell the user
it is rendering. Elsewhere call `job_status` with `kind: "video"` and `sync: true`,
and again when asked or after `poll_after_seconds`. Never resubmit a running job.
8. **Reply.** With a card, do not repeat URLs; summarize model, length and cost and
offer a next step. Without one (Codex, Claude Code), give the video URL and `web_url`.
If a job is refused for safety, say so and suggest a different prompt; do not switch
models to get around a safety filter.
## Messages sent by RTST card buttons
- "Animate this image into a short video with rtst.ai: …" → that URL as `first_frame`.
- "Generate another take of that video with rtst.ai, same prompt, different seed/motion."
→ same model, prompt and settings; quote again.
- "Make a longer or higher-resolution version of that video with rtst.ai — estimate the
cost first." → a longer `duration` or higher `resolution` the model offers; quote it.
- "Make another video like this one with rtst.ai: …" → reuse that prompt, then quote.
- "Use the … (…) video model on rtst.ai for my next video — estimate the cost first."
→ `get_model` for its settings, then quote.
- "Check the status of my rtst.ai … job …" (the card could not refresh itself) →
`job_status` with that id and kind, then report the result with its URL: no card
shows it.
library-and-account2.24 KB
--- name: library-and-account description: Browse the user's RTST (rtst.ai) library and account — their generated images, videos and motion transfers, the connected account, credit balance, plan, model prices and credit spend history. Use when the user asks to see their RTST images or videos, which account is connected, how many credits they have, what something costs, or where their credits went. --- # The RTST library and account Tools: `list_images`, `list_videos`, `whoami`, `balance`, `transactions`, `show_models`, `list_models`, `estimate_cost`. - **Images:** `list_images` (newest first; `page` and `limit`). - **Videos:** `list_videos`; `kind: "motion"` lists motion transfers instead. - **Load more:** call the same tool with the next `page` (the card's Load more does this). - **Which account:** `whoami`. **Credits and plan:** `balance`. **Where credits went:** `transactions` (optional `category`). - **Models and prices:** when the user asks to see or compare models, `show_models` (the picker card in ChatGPT; once per request). A video model's rate is only a base rate: for a price, use `estimate_cost` with the arguments the job would use. - **Plans and credits** are described on https://rtst.ai/pricing. Link it when the user asks or a job can't be afforded; nothing is bought inside the chat, and never push an upgrade or a purchase. In ChatGPT these render as cards: summarize in a sentence instead of listing every item or URL. Where no card renders (Codex, Claude Code), list items briefly with their links. This plugin cannot delete media, change whether an item is public, or change the plan. Say so and point to https://rtst.ai/workspace (media) or https://rtst.ai/profile (account); never claim to have done it. ## Messages sent by RTST card buttons - "Estimate how many credits a 5-second 720p video costs on rtst.ai." → `estimate_cost` (`type: "video"`) on a suitable model's 5-second 720p settings, and say which model you priced. - "Show page … of my rtst.ai …" (Load more could not run inside the card) → the matching list tool with that `page` (`list_videos` with `kind: "motion"` for motion transfers). - Library buttons that animate, remix or reuse an item hand off to `create-video`, `create-image` or `animate-character`.
use-my-media2.48 KB
---
name: use-my-media
description: Bring the user's own image into RTST (rtst.ai) — a photo attached in the chat, a local file, or a public image URL — and get the hosted URL that image editing, image-to-video, reference images and motion transfer need. Use when the user wants to edit, animate or reference their own picture with RTST, and when the RTST upload card reports an uploaded image.
---
# Use the user's own image with RTST
Tools: `media_upload`, `media_upload_widget`, `media_import_url`.
RTST tools take images only as hosted https URLs. Pick the route by where the image is:
| The image is… | Do this |
|---|---|
| attached to the chat in ChatGPT | `media_upload` with the attachment as `file` |
| on the user's computer, in ChatGPT or claude.ai | `media_upload_widget`, then wait for the user to pick it |
| a local file, in Codex or Claude Code | run `rtst upload <file> --json` (the rtst CLI) and use the URL it prints; without the CLI, ask for a web URL or the chat app |
| already on the web | `media_import_url` with its https URL |
| already in the user's RTST library | use its URL from `list_images` as-is |
- The user mentions their photo ("my photo", "this picture") but nothing is attached, in
ChatGPT or claude.ai: call `media_upload_widget` right away, in that same turn and before
choosing a model or quoting. Never ask them in text to upload or attach it.
- Each new request for "my photo" opens the uploader again, even if the user uploaded
one earlier in the chat. Reuse an earlier upload only when they point to it ("the same
photo", "that image").
- After `media_upload_widget`, wait: the card uploads the file and reports the hosted
URL. Do not also call `media_upload`.
- Images only, up to 15 MB. RTST cannot take a video through this plugin.
- Do not try to pass a real photo through `media_upload`'s `data_base64` yourself: you
cannot reliably write out megabytes of base64. It is for the upload card and tiny images.
- The result's `url` is what goes into `generate_image` `image`, `generate_video`
`first_frame` / `last_frame` / `reference_images`, or `motion_transfer`
`character_image_url`. Continue the task the user started; do not stop at the upload.
## Messages sent by the RTST upload card
- "I uploaded an image to rtst.ai (hosted URL: …). Continue with it." → carry on with
what the user wanted the image for; ask only if that is unclear.
- "Animate this image into a short video with rtst.ai: …" → `create-video`, with the URL
as `first_frame`.
Package details
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
- Package license
- MIT
- Package author
- RTST AI (VISATECH S.R.L.)
- Keywords
- See keywords
- Commerce declaration
- Does not support commerceThis does not establish whether access is free or paid.
- Review scenarios
- 5 positive · 3 negativeScenario counts, not test results.
Declared capabilities
- Read
- Write
Some manifest fields differ or could not be read. The structured report retains the source references.
Package observed Nov 3, 2026.
Technical details
- First seen
- Oct 29, 2026 · 07:57 UTC
- Last seen
- Nov 4, 2026 · 06:00 UTC
- Collection status
- Collected
plugin_asdk_app_6ac74ea7f23c8191a32e2a3be88b790b
Download plugin data (JSON)