--- name: venice-studio-production description: End-to-end AI video production workflow combining Hermes Agent (Telegram), Venice API (bulk generation), and Venice Studio Web (final assembly). Covers character consistency, multi-shot generation, audio scoring, and the hybrid API+UI pipeline. version: 1.0.0 author: Hermes Agent license: MIT metadata: hermes: tags: [venice, video-production, ai-video, telegram, creative-workflow, seedance] related_skills: [venice-video, venice-image-generate, venice-audio-music, venice-chat, venice-models] --- # Venice Studio Production Workflow Produce AI videos from concept to export by combining three layers: 1. **Telegram + Hermes Agent** — Natural-language direction and bulk asset generation 2. **Venice API** — Programmatic image/video/audio generation with character consistency 3. **Venice Studio Web** (`venice.ai/studio`) — Timeline editing, transitions, audio sync, Seedance 2.0 cinematic shots ## Trigger Load this skill when the user wants to: - Create videos from Telegram prompts - Generate character-consistent multi-shot scenes - Produce AI micro-dramas, trailers, or episodic content - Combine API-driven bulk generation with manual Studio editing - Understand where Hermes ends and Venice Studio begins ## Architecture ``` Telegram Prompt → Hermes Agent → Venice API → Raw Assets ↓ Venice Studio Web (Movie Editor + Seedance 2.0) ↓ Final Export ``` | Layer | Role | Key Tools | |---|---|---| | **Hermes / Telegram** | Concept, treatment, iteration, QA | `venice-chat`, `venice-image-generate`, `venice-video`, `venice-audio-music` | | **Venice API** | Bulk generation, character consistency, parallel queuing | `elements[]`, `reference_image_urls[]`, `/video/queue` | | **Venice Studio Web** | Timeline assembly, transitions, audio sync, cinematic polish | Movie Editor, Seedance 2.0 R2V, Library | ## Phase 1: Concept & Treatment (Telegram → Hermes) ### Start with a prompt User sends something like: > "Make a 60-second sci-fi trailer about an AI that achieves consciousness" Hermes agent loads `venice-chat` and generates: - Full treatment (concept, characters, setting, genre, tone) - Shot list with descriptions, camera angles, duration - Character reference prompts (for image generation) - Scene reference prompts (environments, backdrops) - Music score timing cues ### Treatment structure ```yaml series: title: "The Oracle" genre: sci-fi thriller tone: mysterious, cerebral aesthetic: neon-noir, volumetric fog aspect_ratio: "16:9" target_duration: "60s" characters: - name: Srikhav role: protagonist description: "Former AI researcher, haunted" voice: "Gravelly, exhausted" shots: - id: 1 type: establishing prompt: "Wide shot of abandoned research facility at dusk" duration: "5s" model: "veo-3-1" # or "seedance-2" if using Studio ``` ## Phase 2: Character Reference Generation (Venice API) ### The 4-angle system For character consistency across scenes, generate **4 angles per character**: 1. **Front** — Primary reference face 2. **Three-quarter** — Slight turn, shows depth 3. **Profile** — 90-degree side view 4. **Full body** — Shows costume, proportions ```python # Using venice-image-generate API angles = ["front", "three-quarter", "profile", "full-body"] for angle in angles: generate_image( prompt=f"{character_desc}, {angle} view, studio lighting, clean background", aspect_ratio="1:1", resolution="1024x1024" ) ``` ### Why 4 angles matter - **R2V models** (Kling O3, Seedance 2.0) use these to maintain facial structure across motion - **Different angles** prevent the model from "forgetting" what the character looks like when they turn - **Profile shots** are critical for walking/running scenes ## Phase 3: Video Shot Generation (Venice API) ### Multi-shot per clip Modern models (Kling O3, Seedance 2.0) can pack **multiple camera angles into a single generation**: ```json { "model": "kling-o3-pro-image-to-video", "prompt": "Wide establishing shot of a cyberpunk alley. Cut to medium shot of @Element1 walking forward, determined expression. Cut to close-up of @Element1's eyes glowing with data.", "elements": [ { "frontal_image_url": "https://.../srikhav-front.png", "reference_image_urls": [ "https://.../srikhav-3q.png", "https://.../srikhav-profile.png" ] } ], "duration": "12s", "aspect_ratio": "16:9", "audio": true } ``` ### The "no music, only sound effects" rule When generating clips via API: - **Set `audio: true`** but prompt with `"no music, only ambient sound effects"` - This gives you clean audio stems for later mixing - Music added in Studio will be unified and smooth - Music baked into each clip = choppy cuts and clashing tracks **Exception:** Sora 2 Pro is **silent-only** — it accepts `audio: true` on `/video/quote` but rejects it on `/video/queue`. Generate Sora clips without the `audio` field, then layer music/SFX in post. ### Parallel queuing The Venice API supports **simultaneous queue submissions**. Generate 5-10 shots at once while you work on the next scene's treatment. ```python # Queue all shots for Scene 1 simultaneously for shot in scene_1_shots: queue_video(shot) # Each returns a queue_id immediately ``` ## Phase 4: Audio Generation (Venice API) ### Music with timing cues ```json { "model": "elevenlabs-music-v2", "prompt": "Cinematic orchestral score. First 10 seconds: soft and mysterious. Next 20 seconds: intense buildup. Following 10 seconds: calm tension. Final 15 seconds: climactic crescendo.", "duration": "65s", "instrumental": true } ``` ### Sound effects Generate individual SFX clips for key moments: - Explosions - Footsteps - Door creaks - Ambient room tone These are layered in Studio's Movie Editor or mixed locally with ffmpeg. ## Phase 5: Final Assembly (Venice Studio Web) ### Import assets 1. Go to `venice.ai/studio` 2. Open **Library** tab 3. Upload/download all generated clips, images, audio files ### Movie Editor workflow 1. **Create project** → Set target aspect ratio (9:16 for vertical, 16:9 for cinematic) 2. **Drag clips to timeline** → Arrange in shot order 3. **Trim** → Cut dead frames at start/end of each clip 4. **Add transitions** → Fade, blur, cross-dissolve between shots 5. **Sync audio** → Drag music track under video, align hits with action 6. **Add title cards** → Text overlay for title, credits 7. **Export** → MP4 download ### Seedance 2.0 for cinematic shots If API models didn't nail a particular shot: 1. Go to **Video** tab in Studio 2. Select **Seedance 2.0 R2V** 3. Upload your 4-angle character refs 4. Craft the prompt manually (often better than API for fine-tuned control) 5. Generate and download 6. Swap into Movie Editor timeline ## Phase 6: Iterative Refinement (Hybrid Loop) The power of this workflow is the **back-and-forth**: | Issue | Fix Location | Action | |---|---|---| | "Character looks wrong in shot 7" | Telegram → Hermes | Regenerate with adjusted refs via API | | "Transition between shots 3-4 is jarring" | Venice Studio | Adjust in Movie Editor | | "Need a wider establishing shot" | Venice Studio | Seedance 2.0 R2V with scene refs | | "Music doesn't hit at the right moment" | Venice Studio | Slide audio track, adjust fades | | "Logo on character's forehead is wrong" | Telegram → Hermes | QA agent rejects, regenerates via API | ## Pitfalls - **Trying to do everything in the API.** The Venice API cannot edit timelines. If a user asks for "add a transition" or "cut this clip," they must use Studio's Movie Editor. - **Seedance 2.0 FOMO.** Seedance 2.0 produces the best cinematic results but is UI-only. Accept this limitation — use Kling O3 or Veo via API for bulk, then swap in Seedance shots for hero moments. - **Missing the 24h download expiry.** API `download_url` expires in 24 hours. Download immediately or re-queue. - **Inconsistent aspect ratios.** Mixing 9:16 and 16:9 clips in the same project requires Studio cropping or letterboxing. Generate everything in the target ratio from the start. - **Forgetting the "no music" rule.** If clips have baked-in music, Studio assembly becomes a nightmare. Always generate with "sound effects only." - **Not using reference images.** Blind text-to-video without character refs = inconsistent faces across shots. Always generate 4-angle refs first. - **Overloading a single prompt.** While multi-shot prompts work, packing 5+ camera changes into 5 seconds confuses the model. Keep it to 2-3 cuts per 12-15 second clip. ## Reference Files - `references/venice-studio-vs-api.md` — Full feature matrix (from `venice-video` skill) - `references/micro-drama-notes.md` — Specific techniques from Venice tutorial videos ## Related Skills - `venice-video` — Async video generation API (quote/queue/retrieve/complete) - `venice-image-generate` — Character reference image generation - `venice-image-edit` — Angle changes, face fixes, background removal - `venice-audio-music` — Soundtrack generation with timing - `venice-audio-speech` — Voiceover / TTS - `venice-chat` — Treatment and script generation - `venice-models` — Model selection and capability probing ## External Resources - Venice Studio: `https://venice.ai/studio` - Venice Video Harness (IDE workspace): `https://github.com/jordanUrbs/venice-video-harness` - Venice Video Model Routing Skill: `https://github.com/jordanurbs/venice-video-model-routing`