Skip to content

Refine Ideas

After generating a first batch of ideas, you’ll often want to iterate on individual ideas. Refinement is just another message in the same conversation — pass the conversation_id from the original run and describe the change in plain language.

Terminal window
curl -X POST "https://agent.gen.pro/v1/agent/run" \
-H "X-API-Key: $GEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "'"$AGENT_ID"'",
"conversation_id": "conv_def456",
"message": "Make idea 1 hook shorter and punchier. Change idea 3 to montage format. Drop idea 5 entirely."
}'

Returns a new run_id — poll like before. When it completes, the conversation’s latest message contains the updated idea set.

  • Tone changes — “punchier”, “less salesy”, “more casual”
  • Format changes — “make it a montage”, “switch to talking avatar”, “turn this into a skit”
  • Length changes — “cut to 10 seconds”, “make it a 30-second explainer”
  • Angle changes — “from the customer perspective”, “add a surprise twist at the end”
  • Selection — “drop idea 2”, “keep only ideas 1 and 4”, “double down on idea 3 with three variations”
  • Data grounding — “use more data from @keithlee”, “reference the festival trending this week”

Ideas have a status lifecycle:

generated → approve_to_create → ready_for_review → approved_to_post → posted

Use change_idea, change_video, or rejected when the idea needs edits or should not move forward.

Move an idea forward in the lifecycle:

Terminal window
curl -X PUT "https://agent.gen.pro/v1/agent/ideas/901/status/approve_to_create" \
-H "X-API-Key: $GEN_API_KEY"

Or cycle to the next status automatically:

Terminal window
curl -X POST "https://agent.gen.pro/v1/agent/ideas/901/status" \
-H "X-API-Key: $GEN_API_KEY"
Terminal window
curl "https://agent.gen.pro/v1/agent/ideas?agent_id=$AGENT_ID&status=generated" \
-H "X-API-Key: $GEN_API_KEY"

Filter by status to see what’s ready to convert into a vidsheet in Step 3.