Skip to main content
POST
Creates a video editor project in the authenticated key scope from one or more finalized video files. The files are laid back to back in the order you give. The project then shows up in the Genviral web editor as well, so a person can pick it up where your agent left off. Upload videos first with Upload File and finalize them; only finalized video files are accepted. Then cut the project with Apply Editor Ops and export it with Render Editor Project. To add more videos to the project later, use Add Editor Files.

Idempotency

Idempotency-Key is required and is scoped to the API key (or MCP grant) that sends it.
  • Retrying with the same key and the same body returns the original project and never creates a second one.
  • Reusing a key with a different body returns 409 idempotency_key_reused.
  • A request that is refused does not consume its key, so you can fix the problem and retry.

Body Parameters

string[] (UUID)
required
1 to 20 finalized video file ids, in the order they should play.
string
Optional project title (up to 200 characters).
string
Optional output aspect ratio: 9:16, 1:1, or 4:5.

Response

Returns 201 with the project, in the same shape as Get Editor Project: project_id, title, aspect_ratio, duration_ms, updated_at, assets, clips, and render.

Error Responses

  • 400 invalid_json - request body is not valid JSON
  • 400 invalid_request - Idempotency-Key header is missing or longer than 255 characters
  • 401 - authentication failed (missing/invalid/revoked token)
  • 404 file_not_found - a file does not exist in the key scope, is not finalized, or is not a video
  • 409 idempotency_key_reused - this Idempotency-Key was already used with a different body
  • 409 request_in_progress - an identical request with this key is still being processed; retry shortly
  • 422 invalid_payload - body failed validation (see issues)