ai-video-story-pipeline

/home/avalon/.hermes/skills/software-development/ai-video-story-pipeline/SKILL.md · raw

AI Video Story Pipeline

Lifecycle update (2026-07-21): Video Story is now maintenance-only and a feature mine for existing projects/frozen APIs. New long-term production-engine behavior belongs in standalone Hermes Video and is promoted into tenant-local Caduceus Video through the versioned capability contract. For new concept→blueprint→contract work, canon, durable jobs, attempts, deterministic finishing, editing, recovery, and promotion, load hermes-video-production. Continue using this skill for Video Story compatibility, repair, and migration evidence.

Current critical references

App Overview

LLM Configuration

Hermes Creative Bridge

Hermes Creative video briefs should map into video-story's native reference model rather than arrive as generic prompts. Treat Creative as the upstream brand/vault intelligence layer and video-story as the execution workspace for video drafts.

Implemented baseline (commit 068cf7b, 2026-05-30): video-story supports project_mode='social_creative', Creative provenance tables (creative_imports, creative_import_assets), token-protected POST /api/hermes/creative-brief-drafts, idempotent draft creation by Creative project slug + brief id, entity/guide-image seeding, and UI banner/label changes for imported social creative drafts. Draft import never starts YOLO automatically.

Live-audit pitfalls (2026-05-31): Creative media assets may arrive as relative /media/... URLs that only resolve on hermes-creative.apps.poofc.com, not on video-story.apps.poofc.com; normalize/prefix these to absolute Creative public URLs before storing or sending to providers. Also infer vertical aspect ratios from slash-style social channels like reel/instagram, not only exact enum values such as instagram_reels.

Expected mapping: - Creative character_reference assets → characters plus guide_images. - Creative set_reference assets → sets plus guide_images; preserve the existing set rule: empty environment, no people/characters. - Creative prop_reference / product_reference assets → props plus guide_images; preserve object-only/no people unless deliberately specified. - Creative style_reference assets and prompt fragments → project.reference_style_prompt and project.frame_style_prompt. - Creative logo_reference assets → overlay/end-card/logo reference fields in the derived video project. - Creative brief strategy/copy → script seed, beat outline, hook, CTA, duration, aspect ratio.

Bridge safety: creating a video-story project from a Creative brief should create a draft only. Do not launch YOLO/rendering automatically unless the Creative review state and Alex's instruction explicitly approve execution. See Hermes Creative reference phase-2-media-reference-and-video-bridge-2026-05-30.md.

Workflow recommendations (2026-06-01): Creative handoffs should include a video_story_workflow recommendation instead of relying on Video Story to hard-code one mode. Keep seedance_cinematic as the default production recommendation, but preserve explicit workflow requests such as seedance_storyboard_refs, seedance_storyboard_grid, seedance_prompt_batch, and seedance_dialogue. Video Story should normalize the recommendation through its own workflow/profile registry and persist generation_mode, video_model_profile, workflow_mode, visual_planning_mode, export_strategy, reference_strategy, and audio strategy from that resolved workflow. See references/hermes-creative-workflow-recommendations-2026-06-01.md.

Social Creative Voiceover Contract

Social Creative Imported Character Preservation Pitfall

YOLO Pipeline (10 steps)

  1. Voices — Assign voices to characters
  2. Script — Generate script from story
  3. Audio — Generate audio narration
  4. Scenes — Break story into scenes
  5. Shots — Break each scene into shots (per-scene retry, 3 attempts each)
  6. Refs — Generate reference images for characters, sets, props
  7. Frames — Generate frame images for each shot (defaults to GPT Image 2 through Hermes OpenAI/Codex OAuth; legacy/selectable paths include Qwen/Fal, FLUX/Replicate, and advanced fal.ai models)
  8. Videos — Generate video clips from frames (current default uses WAN 2.2 via Replicate; experimental Seedance 2 via Atlas Cloud is a strong candidate because it accepts explicit first image + last_image)
  9. Lip Sync — Lip sync dialogue shots (Kling via Replicate, ~$0.014/sec)
  10. Export — Assemble final video (prefers lip-synced clips when available)

Critical Conventions

Story Generation

Reference Images

Guide Images (multi-upload system)

AI Image Editing / Regeneration UX Parity

Analysis Phase UI (single-column cards)

Detail Panel (layout order — no accordion/advanced section)

  1. Guide Images (top, most prominent) — multi-upload grid with always-visible delete badges, big empty-state CTA - Shows active vs overflow guides based on selected model's maxRefs - Overflow guides: faded, greyscale, "unused" overlay - Warning message with suggestion to switch models for more refs
  2. Current Reference Image — display only (if exists), with both "upload your own" and clear current reference actions - Clearing the current reference should set reference_image_url = NULL without deleting guide images - Endpoint pattern: DELETE /api/:entityType/:id/reference-image
  3. Detail Fields — name, description, appearance, personality etc.
  4. Model + Generate (bottom of form) — model dropdown + single generate button - Model selector label should present the user-facing default as "Default (GPT Image 2)"; PuLID can still be used internally for characters with guide images when that path is selected by backend rules, but do not make PuLID the main user-facing default. - Generate button shows: model name, price, guide count - NO separate prompt textarea in the default detail flow — prompt built server-side from entity structured fields - generate-advanced endpoint builds prompt via buildCharacterPrompt/buildSetPrompt/buildPropPrompt when empty prompt sent - IMPORTANT: disable generate while entity save is in flight (saving) so users cannot save and immediately regenerate against stale DB state

UX Principle: No Duplicate Controls

Landing Page / Account Panel

Civitai Orchestration

Civitai offers two API surfaces: - Site API (https://civitai.com/api/v1): Browse/search models, images, creators, tags, AIR identifiers. Public endpoints; authenticated for /me. - Orchestration API (https://orchestration.civitai.com): Submit generation jobs, polls, blobs. Requires Authorization: Bearer <token>.

What Civitai Orchestration supports

Critical pitfalls

Civitai vs Venice for NSFW

Provider Billing Reality

Cost Estimation Reality

PWA Patterns

YOLO Progress & Live Updates

Audio-Video Sync (FIXED)

Advanced Image Models (fal.ai)

Video Model Options

Lip Sync (dialogue shots)

Pitfalls

Hermes automation API workflow