Skip to content

Step 5 — Export & Publish

All cells are filled from Step 4. Now you turn the vidsheet into a final MP4 and ship it.

1. Render — composite all layers into one video
2. Poll — wait for the render pipeline to finish
3. Download / Publish
Terminal window
curl -X POST "https://api.gen.pro/v1/autocontentengine/$ENGINE_ID/cells/$FINAL_VIDEO_CELL_ID/render?agent_id=$AGENT_ID" \
-H "X-API-Key: $GEN_API_KEY"

Returns a generation_id pointing at the render job. Renders are async — poll:

Terminal window
curl "https://api.gen.pro/v1/generations/$GEN_ID" \
-H "X-API-Key: $GEN_API_KEY"

Status flow:

pending → processing → completed | failed

On completed, output_resources[0].url is the CDN URL for the final MP4.

Terminal window
curl -L -o final_video.mp4 "https://cdn.gen.pro/outputs/render_xyz.mp4"

CDN URLs are public — no auth required to download. See Download the Video for streaming / signed-URL patterns and handling.

Currently TikTok is fully supported (Instagram / YouTube coming):

Terminal window
curl -X POST "https://api.gen.pro/v1/user_jobs?agent_id=$AGENT_ID" \
-H "X-API-Key: $GEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_job_type": "publish_content",
"data": "{\"platform\":\"tiktok\",\"media_url\":\"https://cdn.gen.pro/outputs/render_xyz.mp4\",\"description\":\"The $2 taco at 2am #streetfood #tacotok\",\"schedule_type\":\"now\",\"media_type\":\"VIDEO\"}"
}'

Returns a user_job_id. Poll GET /v1/user_jobs/:id until completed; result.post_id is the TikTok post ID.

Renders charge credits — same pre-charge / reconcile pattern as every other generation. Publishing is free. See Credits & Billing for cost breakdowns and the pricing formula.

You configured an agent, generated data-driven ideas, converted one into a vidsheet, edited and generated every cell, rendered the composite, and publish-ready.

To scale: duplicate rows, duplicate the engine, or orchestrate the whole arc through the MCP server — Claude Code will drive the 5 steps for you in natural language.