Skip to content

Step 4 — Edit & Generate

You have a vidsheet from Step 3. Now you drive it:

  • Fill ingredient cells with the idea’s content (script, topic, B-roll prompt)
  • Configure creation cards on each cell — which model, what prompt, what aspect ratio
  • Configure layers on each video cell — background, avatar, captions, CTA, z-index
  • Trigger generations on cells and layers
  • Poll generation status until completed
Auto Content Engine
├── Sheet (left) ← data grid
│ ├── Rows (one per video)
│ ├── Columns (content type, e.g. SCRIPT / VIDEO / CAPTIONS)
│ └── Cells (intersection of row + column)
│ └── Creation card (generation_type + data)
└── Video composition (right) ← timeline
└── Layers (per cell: bg, avatar, text, captions, music)

Every cell has exactly one creation card — a declaration of how that cell generates content. Every video cell has a stack of layers that composite into the final video.

1. PATCH cell value or card config — say what you want
2. POST cell generate — trigger the AI job
3. GET generation status — poll until completed

Repeat for each cell you want to fill. For a typical 3-column video engine (script / voice / video), that’s 9 calls.

Terminal window
curl -X POST "https://api.gen.pro/v1/autocontentengine/$ENGINE_ID/cells/$CELL_ID/generate?agent_id=$AGENT_ID" \
-H "X-API-Key: $GEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"generation_type": "video_from_text",
"data": {
"prompt": "San Antonio taco truck at golden hour, steam rising, handheld camera",
"model": "veo_3",
"aspect_ratio": "9:16",
"duration": 10
}
}'

Response:

{ "generation_id": 789, "status": "pending" }
Terminal window
curl "https://api.gen.pro/v1/generations/789" \
-H "X-API-Key: $GEN_API_KEY"

Status flow:

pending → processing → completed | failed | stopped

On completed: result (text) or output_resources (media URLs) are populated.

Every cell picks one:

TypeGeneratesTypical column
TextText (scripts, prompts, notes)SCRIPT, CAPTION COPY
Image from TextImageTHUMBNAIL, HERO IMAGE
Video from TextVideo (no source image)B-ROLL
Video from ImageVideo (animating an image)AVATAR VIDEO
Video from IngredientsVideo (compositing multiple assets)MONTAGE CLIP
Speech from TextAudio (TTS)VOICE
LipsyncVideo (sync mouth to audio)TALKING AVATAR
CaptionsCaptions over audio or videoCAPTIONS
Media (Upload)Pass-through of an uploaded assetBACKGROUND MUSIC

Not happy with a generation? Update the card’s data.prompt or data.model and re-trigger. Generations are idempotent per generation_id but creating a new generation for the same cell is always allowed — the latest one becomes the cell’s displayed output.

See Regenerate Workflow for the stop/continue/re-run patterns and credit behavior.