feat: add content/production/video.md - AI video generation guide (t199.5)#872
feat: add content/production/video.md - AI video generation guide (t199.5)#872marcusquinn merged 1 commit intomainfrom
Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughNew documentation file establishes comprehensive AI video production standards, covering model selection strategies (Sora 2 Pro vs. Veo 3.1), structured prompting frameworks, end-to-end production workflows, content-type presets, post-production guidelines, and quick-start checklists for different production scenarios. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Tue Feb 10 01:45:25 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
1485d26 to
b29cd00
Compare
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Tue Feb 10 01:50:09 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
…99.5) Comprehensive guide covering: - Sora 2 Pro 6-section master template with examples - Veo 3.1 ingredients-to-video workflow (NOT frame-to-video) - Model routing decision tree (<$10k = Sora 2, >$100k = Veo 3.1) - Seed bracketing method (15% → 70%+ success rate) - Content-type seed ranges (people/action/landscape/product/YouTube) - 8K camera model prompting (RED/ARRI/Sony) - VEO 7-component prompting framework - 2-track production (Midjourney→VEO vs Freepik→Seedream→VEO) - Content type presets (UGC/Commercial/Cinematic/Documentary) - Post-production guidelines (Topaz upscale, film grain, frame rates) - Shot type reference (framing, angles, movements) - Cross-references to higgsfield.md, video-prompt-design.md, t200 All markdown lint checks pass (MD031, MD012). 758 lines, 25KB, 12 major sections with examples and tables.
b29cd00 to
d742582
Compare
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Tue Feb 10 01:52:20 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In @.agents/content/production/video.md:
- Around line 15-764: The AI Video Production document embeds operational
assistant instructions (the "AI Video Production" section and associated
guidance) that may violate the single-source-of-truth rule; move any
authoritative assistant instructions out of the in-file guidance and consolidate
them into AGENTS.md, leaving this file in the .agents content library as a
reference-only guide, remove or mark any directive phrases that instruct
assistant behavior, and add a brief cross-reference in AGENTS.md pointing to
this document for non-authoritative examples while verifying there are no
conflicting directives between AGENTS.md and the moved content.
- Around line 15-764: The seed-bracket-helper.sh script's generation loop
(variables: result, job_id) must be hardened: run curl with --fail and capture
HTTP status/response, validate that result is non-empty and jq returns a
non-null job_id before echoing or writing to seed_bracket_results.csv, and on
failure retry or log an error and continue/exit as appropriate; ensure you also
check that job_id != "null" (or empty) and only append when valid, and add set
-euo pipefail and traps to the script to surface errors reliably.
🧹 Nitpick comments (1)
.agents/content/production/video.md (1)
352-381: Harden the seed-bracketing shell script for reliability and secure automation.Add strict mode and error checks to meet A‑grade DevOps automation standards (curl failures or missing jq will silently corrupt results).
Proposed hardening diff
#!/bin/bash # seed-bracket-helper.sh +set -euo pipefail PROMPT="$1" SEED_START="${2:-1000}" SEED_END="${3:-1010}" MODEL="${4:-dop-turbo}" for seed in $(seq "$SEED_START" "$SEED_END"); do echo "Testing seed $seed..." # Generate video - result=$(curl -s -X POST 'https://platform.higgsfield.ai/v1/image2video/dop' \ + result=$(curl --fail --show-error --silent -X POST 'https://platform.higgsfield.ai/v1/image2video/dop' \ --header "hf-api-key: $HIGGSFIELD_API_KEY" \ --header "hf-secret: $HIGGSFIELD_SECRET" \ --data "{ \"params\": { \"prompt\": \"$PROMPT\", \"seed\": $seed, \"model\": \"$MODEL\" } }") - job_id=$(echo "$result" | jq -r '.jobs[0].id') + job_id=$(echo "$result" | jq -er '.jobs[0].id') + if [[ -z "$job_id" ]]; then + echo "Failed to extract job id for seed $seed" >&2 + exit 1 + fi echo "Job $job_id queued for seed $seed" # Store for later scoring echo "$seed,$job_id" >> seed_bracket_results.csv done
.agents/content/production/video.md
Outdated
| - Character consistency across shots is challenging | ||
| - Lower resolution (1080p native) | ||
|
|
||
| **Best For**: TikTok, Reels, Shorts, testimonials, authentic content, <$10k production value | ||
|
|
||
| ### Veo 3.1 | ||
|
|
||
| **Strengths**: | ||
| - Cinematic quality | ||
| - Character consistency (with ingredients) | ||
| - Precise control over all parameters | ||
| - 8K output capability | ||
| - Professional-grade results | ||
|
|
||
| **Limitations**: | ||
| - Slower generation (5-10 min) | ||
| - Higher cost per generation | ||
| - Requires more detailed prompting | ||
| - Ingredients workflow adds complexity | ||
|
|
||
| **Best For**: Commercials, brand content, narrative, character-driven series, >$100k production value | ||
|
|
||
| ### Higgsfield (Multi-Model) | ||
|
|
||
| **Strengths**: | ||
| - Access to 100+ models via single API | ||
| - Kling, Seedance, DOP models available | ||
| - Unified workflow across models | ||
| - Webhook support for async pipelines | ||
|
|
||
| **Limitations**: | ||
| - API-based (no UI for quick tests) | ||
| - Requires technical integration | ||
| - Model availability varies | ||
|
|
||
| **Best For**: Automated pipelines, batch generation, A/B testing, production workflows | ||
|
|
||
| ## Related Tools & Resources | ||
|
|
||
| ### Internal References | ||
|
|
||
| - `tools/video/video-prompt-design.md` - Veo 3 Meta Framework (7-component prompting) | ||
| - `tools/video/higgsfield.md` - Higgsfield API integration | ||
| - `tools/video/remotion.md` - Programmatic video editing | ||
| - `content/production/image.md` - Image generation (Nanobanana Pro, Midjourney, Freepik) | ||
| - `content/production/audio.md` - Voice pipeline (CapCut cleanup + ElevenLabs) | ||
| - `content/production/characters.md` - Character consistency (Facial Engineering, Character Bibles) | ||
| - `content/optimization.md` - A/B testing, seed bracketing automation (t202) | ||
|
|
||
| ### External Resources | ||
|
|
||
| - [Sora 2 Documentation](https://openai.com/sora) | ||
| - [Veo 3.1 Documentation](https://deepmind.google/technologies/veo/) | ||
| - [Higgsfield Platform](https://platform.higgsfield.ai) | ||
| - [Topaz Video AI](https://www.topazlabs.com/topaz-video-ai) | ||
|
|
||
| ### Helper Scripts | ||
|
|
||
| ```bash | ||
| # Seed bracketing automation (planned - t202) | ||
| seed-bracket-helper.sh "prompt" 1000 1010 dop-turbo | ||
|
|
||
| # Video generation via Higgsfield | ||
| higgsfield-helper.sh generate --model veo-3.1 --prompt "prompt.txt" --ingredient "char_id" | ||
|
|
||
| # Batch upscaling | ||
| topaz-upscale-helper.sh --input ./raw/ --output ./upscaled/ --scale 1.5 | ||
| ``` | ||
|
|
||
| ## Quick Start Checklist | ||
|
|
||
| **For UGC/Social Content (Sora 2)**: | ||
| - [ ] Use 6-section master template | ||
| - [ ] Set aspect ratio to 9:16 | ||
| - [ ] Keep duration 3-10 seconds | ||
| - [ ] Use seed range 2000-3000 | ||
| - [ ] Specify handheld camera movement | ||
| - [ ] Include authentic, natural lighting | ||
| - [ ] Test 10 seeds, score outputs | ||
| - [ ] Add subtle film grain in post | ||
|
|
||
| **For Cinematic/Commercial (Veo 3.1)**: | ||
| - [ ] Prepare character/product ingredients | ||
| - [ ] Use 7-component VEO framework | ||
| - [ ] Set aspect ratio to 16:9 or 2.39:1 | ||
| - [ ] Specify professional camera model (ARRI/RED/Sony) | ||
| - [ ] Use seed range based on content type | ||
| - [ ] Test ingredients-to-video workflow (NEVER frame-to-video) | ||
| - [ ] Score outputs, iterate on winners | ||
| - [ ] Upscale with Topaz (max 1.75x) | ||
| - [ ] Add film grain for organic aesthetic | ||
|
|
||
| **For Character-Consistent Series**: | ||
| - [ ] Create character ingredient library | ||
| - [ ] Document character bible (15+ attributes) | ||
| - [ ] Use Veo 3.1 with ingredient strength 0.9+ | ||
| - [ ] Test seed range 1000-1999 | ||
| - [ ] Maintain identical character description across all prompts | ||
| - [ ] Store winning seeds for reuse | ||
| - [ ] Verify consistency across all outputs before finalizing |
There was a problem hiding this comment.
Single-source-of-truth policy for instructions may be violated.
This document adds extensive assistant instructions under .agents/. Please confirm this doesn’t conflict with the policy that all AI assistant instructions live in AGENTS.md, or move the instruction content there and keep this file as a reference-only guide. Based on learnings, “Maintain all AI assistant instructions, documentation, and operational guidance in AGENTS.md as the single source of truth”.
🧰 Tools
🪛 LanguageTool
[grammar] ~610-~610: Ensure spelling is correct
Context: ... motion) CRITICAL: Never upconvert 24fps → 60fps for non-action content (creates...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~610-~610: Ensure spelling is correct
Context: ... CRITICAL: Never upconvert 24fps → 60fps for non-action content (creates soap op...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
In @.agents/content/production/video.md around lines 15 - 764, The AI Video
Production document embeds operational assistant instructions (the "AI Video
Production" section and associated guidance) that may violate the
single-source-of-truth rule; move any authoritative assistant instructions out
of the in-file guidance and consolidate them into AGENTS.md, leaving this file
in the .agents content library as a reference-only guide, remove or mark any
directive phrases that instruct assistant behavior, and add a brief
cross-reference in AGENTS.md pointing to this document for non-authoritative
examples while verifying there are no conflicting directives between AGENTS.md
and the moved content.
🧩 Analysis chain
🏁 Script executed:
# Search for existing video production instructions in .agents/
rg -n --type md "Veo 3\.1|Seed bracketing|Sora 2 Pro|AI Video Production|ingredients-to-video" .agents/ 2>/dev/null || echo "No matches found"Repository: marcusquinn/aidevops
Length of output: 4568
🏁 Script executed:
# Check if this content pattern exists in root-level agent files
rg -n "video|Video Production|Veo|Sora" AGENTS.md AGENT.md CLAUDE.md GEMINI.md 2>/dev/null || echo "No video guidance in root agent files"Repository: marcusquinn/aidevops
Length of output: 101
🏁 Script executed:
# Get structure of .agents/ directory
find .agents -name "*.md" -type f | head -20Repository: marcusquinn/aidevops
Length of output: 702
🏁 Script executed:
# Examine the shell script robustness (lines 352-381)
sed -n '352,381p' .agents/content/production/video.mdRepository: marcusquinn/aidevops
Length of output: 793
Harden shell script with error handling to meet DevOps quality standards.
The seed-bracket-helper.sh script (lines 352-381) lacks essential error handling. The curl -s call silently fails without the --fail flag, and jq parsing isn't validated before appending to the CSV. Add defensive checks:
Recommended hardening
#!/bin/bash
# seed-bracket-helper.sh
+set -euo pipefail
PROMPT="$1"
SEED_START="${2:-1000}"
SEED_END="${3:-1010}"
MODEL="${4:-dop-turbo}"
for seed in $(seq "$SEED_START" "$SEED_END"); do
echo "Testing seed $seed..."
# Generate video
- result=$(curl -s -X POST 'https://platform.higgsfield.ai/v1/image2video/dop' \
+ result=$(curl -sf -X POST 'https://platform.higgsfield.ai/v1/image2video/dop' \
--header "hf-api-key: $HIGGSFIELD_API_KEY" \
--header "hf-secret: $HIGGSFIELD_SECRET" \
--data "{
\"params\": {
\"prompt\": \"$PROMPT\",
\"seed\": $seed,
\"model\": \"$MODEL\"
}
}")
- job_id=$(echo "$result" | jq -r '.jobs[0].id')
- echo "Job $job_id queued for seed $seed"
+ job_id=$(echo "$result" | jq -r '.jobs[0].id // empty' 2>/dev/null)
+ if [[ -z "$job_id" ]]; then
+ echo "ERROR: Failed to extract job_id for seed $seed (API response invalid)"
+ continue
+ fi
+
+ echo "Job $job_id queued for seed $seed"
# Store for later scoring
echo "$seed,$job_id" >> seed_bracket_results.csv
done🧰 Tools
🪛 LanguageTool
[grammar] ~610-~610: Ensure spelling is correct
Context: ... motion) CRITICAL: Never upconvert 24fps → 60fps for non-action content (creates...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~610-~610: Ensure spelling is correct
Context: ... CRITICAL: Never upconvert 24fps → 60fps for non-action content (creates soap op...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
In @.agents/content/production/video.md around lines 15 - 764, The
seed-bracket-helper.sh script's generation loop (variables: result, job_id) must
be hardened: run curl with --fail and capture HTTP status/response, validate
that result is non-empty and jq returns a non-null job_id before echoing or
writing to seed_bracket_results.csv, and on failure retry or log an error and
continue/exit as appropriate; ensure you also check that job_id != "null" (or
empty) and only append when valid, and add set -euo pipefail and traps to the
script to surface errors reliably.
Address PR #872 review feedback (quality-debt): 1. Harden inline seed-bracketing bash example: - Add set -euo pipefail for strict error handling - Use curl --fail --show-error --silent instead of bare curl - Validate jq response before using job_id - Add error handling with continue on failure - Store results to CSV for tracking 2. Fix LanguageTool grammar findings: - Normalize 'Nfps' to 'N fps' in prose/documentation text - Keep 'Nfps' in AI model prompt templates (model-expected format) - Fix trailing whitespace on line 424 3. Address single-source-of-truth concern (false positive): - Add HTML comment clarifying this is domain reference material, not agent operational instructions - The single-source-of-truth policy applies to AGENTS.md agent behaviour directives, not domain knowledge guides Closes #3759
Address PR #872 review feedback (quality-debt): 1. Harden inline seed-bracketing bash example: - Add set -euo pipefail for strict error handling - Use curl --fail --show-error --silent instead of bare curl - Validate jq response before using job_id - Add error handling with continue on failure - Store results to CSV for tracking 2. Fix LanguageTool grammar findings: - Normalize 'Nfps' to 'N fps' in prose/documentation text - Keep 'Nfps' in AI model prompt templates (model-expected format) - Fix trailing whitespace on line 424 3. Address single-source-of-truth concern (false positive): - Add HTML comment clarifying this is domain reference material, not agent operational instructions - The single-source-of-truth policy applies to AGENTS.md agent behaviour directives, not domain knowledge guides Closes #3759
…3871) * fix: harden video.md seed-bracketing script and fix grammar (GH#3759) Address PR #872 review feedback (quality-debt): 1. Harden inline seed-bracketing bash example: - Add set -euo pipefail for strict error handling - Use curl --fail --show-error --silent instead of bare curl - Validate jq response before using job_id - Add error handling with continue on failure - Store results to CSV for tracking 2. Fix LanguageTool grammar findings: - Normalize 'Nfps' to 'N fps' in prose/documentation text - Keep 'Nfps' in AI model prompt templates (model-expected format) - Fix trailing whitespace on line 424 3. Address single-source-of-truth concern (false positive): - Add HTML comment clarifying this is domain reference material, not agent operational instructions - The single-source-of-truth policy applies to AGENTS.md agent behaviour directives, not domain knowledge guides Closes #3759 * fix: address PR #3871 review feedback — jq error handling and classification comment - Replace 2>/dev/null with || true on jq call per Gemini review: with set -e active, jq failure exits before the empty check, and stderr suppression hides debugging info - Strengthen single-source-of-truth classification comment: explicitly note that imperative domain language (ALWAYS/NEVER) describes video production best practices, not agent behaviour directives, and reference the AGENTS.md Domain Index as the authoritative pointer



Summary
Comprehensive AI video production guide covering Sora 2, Veo 3.1, Higgsfield, and seed bracketing optimization.
Changes
.agents/content/production/video.md(758 lines, 25KB)Quality Checks
Task Requirements Met
All 12 requirements from t199.5 task notes:
Related
Testing
Summary by CodeRabbit