agentleFS
ttalkkaklabttalkkaklab/social-flow/skills/upscale-video/SKILL.md

upscale-video

Skill1 starsChanged 3 months agoApache-2.0View on GitHub

Upscales an existing clip 2x with the LTX pixel-upscaler-x2 IC-LoRA and checks the result against the source. Use when the user asks to upscale, sharpen or raise the resolution of a generated clip, including "이 컷 업스케일해줘", "해상도 올려줘", "2배로 키워줘" or "upscale shot 7". Opt-in only: the final canvas scale stays the default for 720p and smaller sources.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When it does not fit, tell the user and leave the clip to the canvas scale.

    line 35

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Upscale Video

An LTX upscale renders the clip again at twice the size. It is not a scaler: the scene and camera hold, but faces, mouths and small props can change. Run it only when the user asks, never as a pass over every cut. A 720p or smaller clip normally goes to the final 1080 canvas as is (CLAUDE.md 2026-09-12); this skill does not change that default.

Routes (2026-10-30)

RouteStateUse
astra_video_upscale (self-hosted ASTRA_VIDEO, IC-LoRA pixel-upscaler-x2)Live, measuredThe default. No per-call bill; one render at a time (54 s for 25 frames at 640x384, 92 s for 121 frames at 1024x1792).
astra_ic_lora with adapter:"pixel-upscaler-x2"LiveOnly when you need a field the wrapper hides, such as a conditioning mask. Then request exactly twice the source size and a matching 8k+1 numFrames yourself.
GenAI gateway (ASTRA_GENAI_API_KEY)No upscale endpointMSR has a 2x stage of its own. Its skip_stage_2 half-size preview (genai-gateway PR #43) is not on any deployed gateway yet, and older gateways reject the field with 400, so astra_genai_msr does not send it.
Local LTX Desktop recipe through the Mac gatewayNot availableDesktop 1.3.1 lists the upscale LoRA but its queue accepts only the recipes in IC_LORA_RECIPES (backend/services/features/ic_lora_recipes.py in the app). refine-details is the upscale recipe there and is not installed. Recheck both before proposing this route.

Steps

  1. Find the clip and its plan. For an episode cut, read the shot with storyboard_read and take the actual clip path from the production record. Keep the source; the tool never overwrites it.
  2. Check that it fits. The source sides must be multiples of 32, and twice the size must stay within 1,867,776 pixels: 512x896 → 1024x1792 and 896x512 → 1792x1024 fit; 720x1280 does not. When it does not fit, tell the user and leave the clip to the canvas scale. Do not shrink a larger clip just to feed the upscaler.
  3. Write the prompt from the shot. Describe the subject, action, setting and light the clip already shows, in English. A one-word upscale prompt invented text and shapes in testing.
  4. Run astra_video_upscale with sourceVideoPath and prompt, plus seed when the user wants to repeat a take. The tool sends the clip's own frame rate and the largest 8k+1 frame count (it reports dropped trailing frames) and copies the source soundtrack back unchanged.
  5. Inspect against the source at the same frames (start, middle, end) and in playback, using host evaluation when the user wants a recorded review. Look for:
    • face and age shift, hair and costume detail;
    • mouth shapes against the soundtrack on spoken lines — the picture is re-rendered but the audio is the original, so lip sync can break;
    • prop colour and material (testing turned a silver hairpin jade blue);
    • new text, logos or shapes that were not in the source. Report what changed. A completed job is not a passing review; the result stays not_reviewed.
  6. Swap it into an episode only when the user accepts it. Record the source clip path and hash, the tool, prompt, seed and job id beside it; review-cut-videos checks it again only when the user asks for a video review.

A rejected result is reported with the reason. Do not loop new seeds without the user asking.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.