Blog

Notes from building
a six-model video tool.

How we verify what each model can actually do, how a credit price is worked out, and which trade-offs shaped the composer.

Sample content: the entries below preview what this blog will cover. Article pages are not published yet, so every summary is written to stand on its own.
Featured

The long read

One post, summarised in full — there is nowhere to click through to yet.

All posts

Everything we have written down

Engineering notes, credit arithmetic and craft posts. Each card carries the whole point, because there is no article page behind it yet.

EngineeringSeptember 2, 2026

How we verified 20 models before writing any UI

Provider documentation and provider behaviour disagree more often than you would like. We read the aivideoapi.ai reference for 20 models and recorded, per model, which modes it accepts, which resolutions and durations it genuinely supports, whether audio is billed on top, and its per-second credit rate. That matrix is what the composer reads at runtime, which is why a model that cannot render 1080P never offers it — and why only 6 of the 20 made it into the picker.

9 min readSample content
PricingAugust 27, 2026

Why one provider credit becomes 0.75 of ours

Every model bills on its own scale, so we normalise exactly once: Vgent credits = ceil(provider credits × 0.75). It always rounds up, so the estimate you see before rendering is never lower than what gets reserved — and the reservation stays at that estimated ceiling: the usage the provider reports back is written to the logs today, never settled against the daily budget, which is why a failed render shows its refund as pending reconciliation. The post does the arithmetic on a five-second clip and shows where the planned free allowance of 200 Vgent credits and the 300 provider credits ceiling on a single anonymous clip come from.

7 min readSample content
CraftAugust 21, 2026

Anatomy of a prompt: subject, motion, lens, light

Prompts that survive a model switch share a shape — one subject, one action, one camera move, one lighting condition, in that order and nothing more. We take four prompts apart clause by clause, show what each one changes in the output, and explain why stacking adjectives usually costs you the motion first. It is also why the composer’s cinematic-direction control appends one fixed clause instead of rewriting what you typed.

8 min readSample content
EngineeringAugust 14, 2026

First frame, last frame, and what extend actually continues

Image-to-video needs a start frame; only some models accept an end frame, and none of them will invent a shot between two frames that never belonged together. Extend is stricter still: it continues a clip rendered here, carried by a signed source token, and refuses a bare task id or a pasted provider URL. Our own upload storage is not connected yet, so the post is explicit about which of these paths you can use today and which one is still waiting on it.

6 min readSample content
ProductAugust 6, 2026

Designing a free grant that survives the open internet

200 Vgent credits, no account and no card — the hard part was making that useful without making it farmable. The figure is still a planned allowance rather than a balance counted per visitor: what runs on the server is a 300 provider credits ceiling on a single clip, a rate limit counted per network address, and one daily provider budget shared by every anonymous caller — plus an idempotency key so a double click cannot spend twice, and an ownership record so a task survives a page refresh. The post covers why those counters live in Redis rather than in the browser, why a shared network can find its quota already spent by someone else on it, and why a failed render shows its refund as pending reconciliation until the provider confirms it.

5 min readSample content
DesignJuly 30, 2026

One theme, on purpose: shipping dark-only

A second palette is never free: every token doubles, every gradient needs its own contrast check, and the switch itself becomes a state you have to persist and hydrate without a flash. We left a light-theme hook in the stylesheet and shipped nothing behind it. The post goes through the contrast work that made a single theme safe, including why the call-to-action gradient starts on a darker blue than the accent token so white text on it clears 4.5:1.

6 min readSample content
Subscribe

Get the next one

Email delivery is not connected yet: no address is collected and nothing is sent. Until it is, the changelog records every change that ships and the community page lists the channels we will post to.

Both links stay on this site. The social accounts are listed on the community page, but none of them are open yet.

Start creating for free

200-credit free allowance planned. Create anonymously today, no card required.

Open the workbench