Docs / Recast

Recast a video

Change the people in a video, or its people and setting, while keeping the source edit and soundtrack. Start with footage you have permission to transform, review a quote, then compare the finished result with the original.

Website

From source to comparison

  1. Select an owned video, upload a file or import a direct video-file link.
  2. Describe your desired cast. Choose Reskin to change the world as well. Add optional reference images for the look.
  3. Choose a quality profile and, optionally, a shorter source interval. Confirm you hold the rights to remix the footage.
  4. Request a quote and inspect its processing allowance and service fee. Source analysis is paid even if you decline the run.
  5. Start with enough available credits to cover the quoted ceiling. Review the film, synchronized comparison and quality report when it completes.

Direct links must serve video bytes over HTTP(S), rather than a YouTube page, player page or login screen. Use upload for large files or inaccessible links. Sources and results are private by default; making them public is a separate choice.

Creative choices

Cast only, or a whole new world

Recast

Replace the on-screen cast while retaining the source setting, lighting and wardrobe context.

“Replace the courier with an original silver-haired woman in her sixties, with expressive eyebrows and a mischievous smile. Preserve the outfit, actions and framing.”

Reskin

Replace the cast and visual setting together while preserving the actions and edit.

“Turn the bicycle chase into a retro spaceport adventure with an original astronaut courier. Keep the route, prop handoffs, camera movement and pace.”

These are brief examples, not claims that a particular result has passed review. Recast retains the original soundtrack. It does not clone voices, replace dialogue or change the spoken language. Use clear, specific appearance descriptions and owned image references to communicate your intended cast.

ProfileGenerationRepair allowance
Draft480pNo automatic repair wave
Standard · default720pOne bounded repair wave
Premium1080pUp to two bounded repair waves

All profiles run unattended. Delivery is conformed to the source timeline and output dimensions; generation resolution describes the model output before that step. The default source-edit recipe uses the source motion. The alternate keyframe recipe generates motion between restyled stills and can reinterpret more of the action.

Examples

See the change

8 seconds · Reskin · Standard

Pasta on the Moon

A pasta chef and two guests move into a retro lunar diner with a new cast and the original soundtrack.

Original left · Reskin right. Watch with sound.

A cheerful lunar diner: teal-shirted chef with a mustard apron, a silver-haired guest in plum, and an auburn-haired guest in navy. Keep the kitchen layout and pasta-making actions.

Exact submitted creative brief

Turn this into a cheerful live-action retro-futurist lunar diner kitchen. Replace the chef with an original clean-shaven Black man in his thirties, close-cropped natural hair, a teal short-sleeved work shirt and a mustard apron. Replace the background diner initially on the left with an original adult woman with a short silver pixie cut and a plum jumpsuit; replace the diner initially on the right with an original adult man with curly auburn hair and a navy jumpsuit. All three have uncovered expressive human faces and natural bare hands. Restyle the existing kitchen with ivory wall panels, turquoise cabinetry and warm practical lighting; the existing windows reveal a still grey lunar landscape under a black sky. Preserve the room's layout, counter, doorway, window positions and cookware placement. Keep the wooden rolling pin, kitchen knife and pasta dough recognizably unchanged. Preserve every source action, hand grip, tool pickup and set-down, speaking mouth movement, laugh, body movement, camera move and timing, with the original soundtrack. Keep the same three people in their original roles and positions as the camera moves. Match the source's photographic realism. Add no helmets, gloves, extra people, floating objects, new windows, text, logos or signage.

mode="reskin" · recipe="source_edit" · quality_profile="standard" · Full 8-second source · Delivered at 1280 × 720, 24 fps.

Original scene and source audio generated for Soundside. Reviewed against the source: the automated report flagged knife handling and facial expression; manual comparison found the same knife and reaching gesture in both films. The new chef's smile is slightly less pronounced. The report remains unchanged.

Actual example costs
ItemCredits (USD)
Initial run ceiling, not the amount charged1,122 ($11.22)
Reassembly ceiling, not the amount charged13 ($0.13)
Settled initial processing251 ($2.51)
Settled reassembly processing7 ($0.07)
Settled service fee0 ($0.00)
Initial run + reassembly258 ($2.58)
Quote analysis, separate from the run3 ($0.03)
Total example spend261 ($2.61)

The initial delivery failed during assembly, so its service fee was waived. A pure reassembly reused all generated footage and had no transformation service fee. Processing was charged. One credit is US $0.01; source creation is excluded and unused allowance is not charged. This is one example's settled cost, not a price guarantee.

20 seconds · Recast · Standard

Special delivery

A silver-haired courier takes over an original briefcase scene. A new performer, the same setting, and the original soundtrack.

Original left · Recast right. Watch with sound.

Exact submitted creative brief

Recast the courier as Silver-Haired Courier, an original fictional woman in her late sixties with short cropped silver hair, warm brown skin, expressive arched eyebrows, fine laugh lines, and a determined, mischievous facial expression. Preserve the original plot, every action and physical interaction, every shot and cut, the camera movement, framing, pacing, source soundtrack, and setting. The replacement wears exactly the source character's wardrobe at each moment. Keep all props, including the briefcase, in the same hands and positions. Preserve the source film's visual style and existing lettering; add no signs, captions, logos, or people.

mode="recast" · recipe="source_edit" · quality_profile="standard" · Opening 20 seconds of the 60.8-second source · Delivered at 1280 × 720, 24 fps.

Original scene and source audio generated for Soundside. The final face revision preserves the blink, head turn and changing background without the previous version's invented signs. Minor expression and crop differences remain. The final report passed its review and still notes minor hand anatomy and texture differences around the briefcase at 6–9 and 10–13 seconds.

See the last revision

Full 20-second comparison: previous film left · final film right. Only 16.208333–18.25 seconds changed (frames 389–437); the other six shots were reused. Compare the face shot's background to see the repair.

Actual costs of the runs used in this result
ItemCredits (USD)
Initial full run441 ($4.41)
Earlier three-shot revision253 ($2.53)
Final face revision processing73 ($0.73)
Final face revision service fee200 ($2.00)
Initial run + revisions967 ($9.67)
Quote analysis, separate from the run3 ($0.03)
Total for this result970 ($9.70)

The final face revision had a 1,556-credit ($15.56) ceiling and settled at 273 credits ($2.73), including the $2 minimum service fee. Earlier service fees in this result were waived. Unused allowance is not charged; this settled cost is not a price guarantee.

Development costs and exclusions

All native development runs and quote preparation, including discarded attempts, totaled 2,049 credits ($20.49). The 970-credit table counts the runs used in the displayed result. Both figures exclude source creation, separate diagnostic experiments and publication.

Pricing

A quoted ceiling, with itemized costs

One credit is US $0.01. Recast combines metered processing with a service fee of $0.20 per transformed source second, with a $2 minimum for a newly transformed delivery. Ten transformed seconds have a $2 service fee; 30 seconds have a $6 service fee. Processing is additional, so these are not total production prices.

Processing covers analysis, reference creation, video generation, checks, attempted repairs and assembly. The quote reserves a conservative maximum for provider processing; the final processing charge can be lower. Unused allowance is not charged.

The service fee is waived when final motion review is missing or fails, or unresolved quality or parity findings remain. Processing already performed is still charged, including on a failed run.

Quote preparation performs paid source analysis and supporting media operations. A purchased token reuses that plan without rescanning. Keep these analysis charges in mind when setting a total project budget.

Your available balance must cover the accepted run quote. The final run charge cannot exceed that ceiling. Pure reassembly has no transformation service fee; a partial revision prices only selected new transformations for that fee.

Recast currently uses authenticated account credits. OAuth and API keys are supported. It is not available as a per-run x402 purchase. Wallet sign-in or funding does not change this payment lane.

MCP API

Import a link into your library

The tool is remix_video. Its source must be a completed, owned video UUID. First import a direct video-file URL using lib_manage, or use the library upload flow. Imports are paid and subject to fetch and size limits. An explicit project keeps the source in the intended place.

Import a direct MP4 link
{
  "name": "lib_manage",
  "arguments": {
    "entity_type": "resource",
    "operation": "create",
    "project_id": "<owned-project-uuid>",
    "name": "courier-source.mp4",
    "mime_type": "video/mp4",
    "content_url": "https://your-media-host.example/courier-source.mp4",
    "visibility": "private"
  }
}

Use the returned resource_id in the next step. Do not pass the URL directly to Recast.

MCP API

Quote first, then purchase that plan

Fresh estimates return an itemized metadata.quote, a saved shot plan, an opaque quote_token and quote_expires_at in Unix seconds. The token lasts 24 hours and is bound to the account and exact creative settings.

Python · request a paid quote
import os
from soundside_client import SoundsideClient

client = SoundsideClient(os.environ["SOUNDSIDE_API_KEY"])
client.connect()
creative = {
    "source_resource_id": "<owned-video-uuid>",
    "brief": "An original silver-haired courier; keep the source actions, outfit and setting.",
    "mode": "recast",
    "recipe": "source_edit",
    "quality_profile": "standard",
    "range_start_sec": 0,
    "range_end_sec": 10,
}
estimate = client.call_tool("remix_video", {
    **creative,
    "rights_attested": True,
    "estimate_only": True,
    "budget_cap_credits": 2000,  # Example $20 run ceiling, not a price prediction.
}, timeout=600)
if estimate.get("success") is False:
    raise RuntimeError(estimate.get("error", "Quote failed"))
terms = estimate["metadata"]
print(terms["quote"])  # Review before purchasing.
After accepting the price · purchase with the same settings
run = client.call_tool("remix_video", {
    **creative,
    "rights_attested": True,
    "estimate_only": False,
    "quote_token": terms["quote_token"],
    "budget_cap_credits": terms["quote"]["total_credits"],
}, timeout=180)
if run.get("success") is False:
    raise RuntimeError(run.get("error", "Purchase failed"))
parent_id = run["resource_id"]
print(parent_id)

The runnable example and its sibling soundside_client.py use httpx. It provides separate quote, purchase and status commands, saves the token privately and keeps the accepted ceiling when a purchase is retried.

Preserve the settings and token together. After a lost purchase response, retry the same valid token: it returns the same parent job, with metadata.purchase_replayed=true. It does not start another attempt, even if that job failed. Changing the source, brief, profile, mode, range or references requires a new quote. A new quote and purchase can authorize a new charge.

Delivery

Inspect the whole comparison

The primary comparison places the original source on the left and Recast on the right, synchronized in one playable frame. The original is retained. Watch with sound and check hands touching objects, speaking faces, camera motion, text, background characters and cuts. A completed job means it delivered; it does not mean every quality criterion passed.

The report verifies output length through frame counts. Matching counts do not prove that each generated frame follows the source motion. Final comparison review samples at 4 fps in windows of at most 10 seconds across the delivery. Sampling and automated judging can miss defects. Read delivery_review, needs_review and unresolved_defectsbefore using the film. Shot-level evidence and attempted repairs remain available.

Costs are separated into processing_credits and service_fee_credits. The report's credits_settled records accounted costs; the account's usage records are authoritative for the settled invoice.

1 Source · Source trims and frames

2 Plan · Shot plan and continuity instructions

3 Design · Cast and setting references

4 Shots · Generated takes and repairs

5 Conform · Timeline-fitted clips and checks

6 Deliverables · Film, comparison and report

Follow-up

Recover status or revise selected actions

Check the job's status with a free on-demand library read, now or after reconnecting. A notifications/resources/updated push may also arrive, but don't rely on it. The purchase response also includes metadata.library so you can open the run's collections.

Read the existing parent
{
  "name": "lib_list",
  "arguments": {
    "entity_type": "resources",
    "resource_ids": ["<parent-resource-uuid>"]
  }
}

For a revision, pass revise_from with the owned parent UUID, brief="" and regenerate_actions containing action IDs from its plan. Review an estimate first. An empty list means pure reassembly of accepted clips. Revisions retain the parent's cast/world design and earlier resources. The report's changed_intervals are frame indices relative to the delivered film, with an exclusive end. Divide by the delivered assembly.fps to convert to seconds. The workspace keeps the source/remix comparison primary and adds a synchronized initial/revised comparison with these intervals. A visible change does not by itself demonstrate an improvement.

Selected-shot Recast revisions may reuse approved source-aligned face references when the source, action and cast still match; source motion observations refresh, and a mismatch withholds motion.

Purchase tokens currently apply to fresh jobs only. Revision calls do not have token replay protection: retain the returned parent UUID and inspect it after a timeout before submitting again. See the revision examples.

Recovery

Keep retries tied to the same job

QUOTE_BUSY · Another request is starting this quote. Retry the same token and settings shortly.

Expired or changed quote · Inspect the parent if a job already started. Otherwise request a new quote and review its terms.

Budget or balance is too low · Shorten the range or choose another profile and quote again, or fund the account and retry a still-valid token. Analysis already performed remains paid.

Permission denied · Use an owned completed video and owned image references. Recast accepts resource UUIDs, not signed media URLs.

Run failed · Read the failure and existing paid outputs. A repeated purchase token returns the same failed job. Recover accepted clips where possible before paying to start over.

Use tools/list for the current schema and the tool reference for all parameters. Begin with a short, representative interval before committing to a longer film.