First Frame Agent build log
A BYOK agent app for turning rough product notes into image-to-video first-frame slates.
First Frame Agent is a one-page BYOK agent app for the moment before image-to-video: turning rough product, service, or creator notes into a strong 9:16 opening frame plus the motion prompt that should follow it.
The app is intentionally narrow. A visitor brings their own provider key, writes a brief, chooses platform and motion presets, and receives one decisive director board: opening frame, image prompt, motion prompt, caption beats, negative prompt, and QA checklist. With an OpenAI image-capable model selected, the app can also render the first-frame concept through the hosted image generation tool.
This is not an empty chat surface. The UI is a compact frame desk with task-specific fields, preset starts, and a fixed output shape for creator and product-marketing workflows.
Why this release
Image-to-video tools are increasingly constrained by the quality of the first frame. Weak starts create weak motion, even when the downstream model is strong. First Frame Agent packages the practical pre-production step into a small forkable app: one frame, one motion prompt, one checklist.
The trend is multimodal BYOK tooling for creator workflows, especially text-to-image and image-to-video pipelines where a visitor wants a useful artifact without giving the app owner an inference bill or a private API key.
What shipped
- Repo:
https://github.com/dvnc-labs/first-frame-agent - Release:
https://github.com/dvnc-labs/first-frame-agent/releases/tag/v0.1.0 - Demo:
https://first-frame-agent.vercel.app - Artifact type: BYOK agent app.
- Scaffold:
omidsaffari/ai-app-starter. - Runtime: Next.js 16, React 19, AI SDK v6 provider transport.
- Default OpenAI path: Responses API model registry with the hosted image generation tool.
- Provider options: OpenAI, Anthropic, and Google through visitor-supplied keys.
- Standard package surface: README, code of conduct, contributing guide, changelog, and generated OG asset.
Trust boundary
The visitor key stays in browser session storage. It is sent only to the same-origin /api/run route as x-provider-key, used to construct the selected provider client for that request, and redacted from errors. There is no author-owned API key, no server-side fallback key, and no stored inference account.
The frozen starter trust-boundary files stayed untouched: src/lib/byok.ts, src/lib/secret.ts, src/app/api/run/route.ts, .github/workflows/ci.yml, and tests/byok.spec.ts.
Gates
- Remote repo created from
omidsaffari/ai-app-starter. - Local
bun install: passed. - Local
bun run lint: passed. - Local
bun run typecheck: passed. - Local
bun run build: passed. - Local BYOK no-leak Playwright smoke on
PORT=3219: passed. - Runner package surface generated README/docs/OG files.
- Runner gate repeated install, lint, typecheck, build, and Playwright: passed.
- GitHub Actions CI on
8d0eaae: passed. - GitHub release
v0.1.0: published. - Production Vercel alias
https://first-frame-agent.vercel.app: HTTP 200.
Release notes
Two small runner fixes were made in the control-plane repo during this release: scaffold can now recover when preflight leaves only .oss-release-state.json in the clone path, and the generated OG HTML now includes lang="en" so Biome lint passes. A release-token scope issue also required a local omidsaffari GitHub auth fallback for creating the GitHub release.
Distribution kit
Show HN title:
Show HN: First Frame Agent - BYOK frames for image-to-video starts
Targets:
- Creator workflow and image-to-video prompt communities.
- Product marketing operators making short-form launch clips.
- BYOK AI app examples and AI SDK demo directories.
Jun 28, 2026

