The Checkpoint block should be the right fit for your use case since it lets users revise generated data both manually and through Chat. You can learn more here:
When using the Checkpoint block, I want users to be able to edit the content, and then save that content so it can be run through other blocks. Is there a way to save the output of the checkpoint block as a variable? I want users to have the option to edit the displayed content, which will then go through more blcoks.
When using the Checkpoint block, users can edit the variable contents either manually or through chat. The Target Variable is then updated with the revised data: