Edit Existing Content
Explainer Video accepts natural-language follow-up messages:
POST /creations/{id}/messages
Example:
{ "content": "Keep everything else and make the second scene easier for new employees", "input_file_ids": [], "idempotency_key": "video-edit-20260901-001"}
A message may describe a whole-video change or name a selected scene. KPainter plans the affected scope and continues production when the account and budget allow.
AI Image and AI App do not currently advertise the same conversational editing workflow. Create a new result when capabilities do not expose a supported refinement path.
Continue a Paused Task
When GET /creations/{id} returns paused, inspect available_actions first. Submit only an action present in that list:
POST /creations/{id}/actions
{ "action": "resume_after_recharge", "idempotency_key": "resume-20260901-001"}
Possible actions include:
- resume_after_recharge after the balance is sufficient
- approve_overage after the user accepts a revised estimate
- retry only when KPainter explicitly marks a retry as safe
Idempotency and Safety
- Reuse the same idempotency_key for the same message or action after a transport interruption.
- Do not keep an old task's recovery button active after a newer task starts.
- Continue only the latest paused task; the service validates this again.
- Do not invent an action when available_actions is empty.
- Check status before retrying an uncertain remote request.
- Send only the documented creation ID, action, and idempotency key.
Messages and actions are asynchronous. After a 202 response, continue polling GET /creations/{id}; refresh outputs only after a usable delivery is available.
