← Frameo.AICONTENT HISTORY
WHAT CHANGED
Update to Frameo.AI
Snapshot Oct 24, 2026 · 13:00 UTC · version 1.2.5
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Frameo.AI and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "A new edit of the user's own subject in the visual language of a reference video: its pacing, shot sizes, camera moves, transitions, text style and colour. Use when the user points at an edit they like and wants that feel for their own product, person or story.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 376
},
{
"relative_path": "assets/icon.svg",
"size_in_bytes": 442
},
{
"relative_path": "references/style-study.md",
"size_in_bytes": 1590
}
],
"name": "reference-remix",
"skill_md_contents": "---\nname: reference-remix\ndescription: \"A new edit of the user's own subject in the visual language of a reference video: its pacing, shot sizes, camera moves, transitions, text style and colour. Use when the user points at an edit they like and wants that feel for their own product, person or story.\"\n---\n\n## When\n\nThe user points at an edit they like — a reel, an ad, a music video — and wants that feel for their\nown subject. Its visual language is studied (the rhythm of the cuts, shot sizes, camera moves,\ntransitions, text style, colour and sound) and a new piece is made with it, for the user's product,\nperson, place or story. The result is a new edit with its own shots, not a copy of the reference.\n\nNot for: re-shooting the user's own ad beat for beat (`ad-remake`); a shot-for-shot copy of\nsomeone else's video; changing people or objects inside existing footage, or moving one video's\nmotion onto another, which need video-to-video tools Frameo does not have; editing footage the\nuser already has without new shots (`subtitles-and-cut`).\n\n## Ask first\n\n1. **The reference** — the video (`show_upload` for files on the user's device, `import_media_url` for a web link; files attached to the chat reach Frameo only through `import_attachments`, in apps that pass them such as ChatGPT, and `create_upload_url` is for clients that send the file themselves). It is studied only; nothing from it is copied into\n the result.\n2. **The subject** — product photos, a person (a photo with that person's consent, or a\n description to design from), a place, or a short story; and any words that must appear on\n screen, in the user's words.\n3. **Length and frame** — the reference's by default.\n4. **Music** — the user's own track, a library sound (`search_sound_effects`), or generated music\n (`generate_music`); the reference's music is never reused.\n\nSay the rough cost in the same turn: about 65 credits per 5 s of new clip, ~18 per still, plus a\nfew credits per minute of the reference for the study. The user's yes comes with the plan (Steps,\n**The plan first.**).\n\n## Rules\n\n- Borrow techniques, never content: the reference's footage, people, faces, logos, music and exact\n wording stay out of the result.\n- Product claims follow the **Truth** section of `get_skill(\"ugc-video\")`: the user's claims only,\n no invented results or testimonials.\n- Every choice serves the user's subject: an effect or transition from the reference is used where\n it has a reason in the new piece, not everywhere.\n\n## Steps\n\n**Before any paid step.** The project: `list_projects` (or `create_project`) gives the `project_id`\nand, when the project has several modules, the `module_id`; every call below that takes a project —\n`estimate_cost` included — gets that same pair; without the project those tools answer `project_needed`, and without the\nmodule of a project that has several, `module_needed`, which lists its modules. The\nquote: one `estimate_cost(items=[…])` prices a stage in one call, with the same project, model,\nsize and number of `image_urls` or `reference_image_urls` (`reference_count`) as each generate call, and returns a `quote_id` per item plus the total. Each generate call\nthen passes its own item's `quote_id` and `confirmed_by_user=true`. A quote is single-use and lasts\n15 minutes, so a long plan is priced stage by stage, right before each stage runs; a stage that\ncomes to more than the user approved is asked about again first. Generate calls return\n`generation_ids`; `wait_task` returns the links, and `show_generations` shows each stage's running\nand finished work in one card where the chat app displays Frameo cards: all the stage's ids at\nonce, before its first `wait_task`; the card updates itself as the work finishes, so the same ids are not shown again.\n\n**The plan first.** Before the first paid call, the plan goes to the user in the chat as plain\ntext: what will be made, in order, one line per generation (for a script, the shot list; for a\nset, each shot), with each line's credits and the total. The credits come from\n`estimate_cost(items=[…])`, up to 10 items a call, so a long plan takes several calls; those\nquotes may expire unused, since each stage is quoted again right before it runs. Nothing is\ngenerated until the user says yes. The user can drop or change lines; a changed line is priced\nagain.\n\n**Shot order.** Pass `shot_number` on every `generate_image` and `generate_video` of a shot (1, 2, 3… in story order; the same number for a retake and for that shot's video), so the project keeps each shot apart, in order. Cast, prop and location references take `placement_kind` (`character`, `prop` or `location`) and the subject's name as `placement_group` instead: they are kept with the project's references, apart from the shots built from them.\n\n**Review (on by default).** Every still and clip is checked before it is built on, and the cut\nbefore it is handed over, following `get_skill(\"review-shots\")`, loaded before step 2. The cut is\nalso checked against the style notes: shot lengths near the planned ones, transitions where\nplanned, the text readable (`view_image(url, resolution=\"high\")` on a frame with text).\n\n**0. Study the reference (a few credits per minute, said and agreed first).**\n`analyze_media(media_url, question=…, detect_shots=true, confirmed_by_user=true)`, with the\nquestion from\n`get_skill_file(skill_id=\"reference-remix\", path=\"references/style-study.md\")`; `wait_task`\nreturns one section per shot with its `start_ms` and `end_ms`. Then, free, `extract_frames` at\neach shot's middle (with that shot's `start_ms` and `end_ms`) and `view_image(url,\nresolution=\"high\")` on the frames that carry text, texture or a transition. Write the style notes\nfrom the same file and show them.\n\n**1. Plan.** A one-line concept for the user's subject, then a shot list: each shot's role (open,\nreveal, build, payoff), length, shot size, camera move, transition and any text, drawn from the\nstyle notes and the user's subject, not from the reference's content. Camera moves that match a\npreset take its wording (`list_presets(category=\"camera-movements\")`, then `get_presets`). This\nlist, with its credits, is the plan.\n\n**2. Stills (~18 each).** `generate_image` per shot that needs new imagery, in the look the style\nnotes describe: the product photos as `image_urls` (the cleanest first), a recurring person built\nonce through `get_skill(\"character-sheet\")`.\n\n**3. Clips (~65 per 5 s).** `generate_video` per shot, `first_frame_url` its still, the prompt\ncarrying the planned camera move and action. A shot shorter than the model's minimum length\n(`list_models(kind=\"video\")`) is made at the minimum and trimmed in the cut. `generate_audio=false`\nunless a shot needs its own sound.\n\n**4. Text.** Exact text never comes from a video model. `render_motion_graphics` (`kinetic_text`,\n`caption_card`, `title_card`; the font nearest the reference's feel from its list) for animated\ntext, or an `.ass` sidecar burned with `run_ffmpeg` for captions, placed and sized as the style\nnotes say.\n\n**5. Cut (free).** `run_ffmpeg` joins the shots in order at their planned lengths, with the\nplanned transitions (`xfade` where the reference dissolves or wipes, hard cuts elsewhere),\noverlays the text and lays the music, with cuts on its beat where the reference cuts on the beat.\nThe caps and the pass-by-pass joining follow `get_skill(\"subtitles-and-cut\")`: at most 10 inputs\nand 4 outputs a run.\n\n## Done\n\nThe new edit, with the style notes it follows and the plan; `open_in_frameo` on the result opens\nthe project in the Frameo app, where every take is ready for retakes and edits.\n\n## Files\n\n- `references/style-study.md` — the study question for `analyze_media` and what the style notes record.\n"
}SHA-256 of public snapshot: b2586c164fe83332fba767fa631e5a12b281bec1bb94e97c265ddff1f504e959