Skip to main content
PUT
Update Project

Overview

Update an existing project by sending the complete updated project object. This endpoint allows you to modify scene visuals, subtitle text content, scene settings, and other project attributes. The entire project object must be included in the request; partial updates are not supported.
Complete Object Required: You must send the entire project object in the request body, even if you are only changing a few fields. Omitting fields may result in data loss or project corruption.
You need a valid API key to use this endpoint. Get your API key from the API Access page in your Pictory dashboard.

API Endpoint


Request Parameters

Path Parameters

string
required
The unique identifier of the project to update. Can be either a string (for v3 schema projects) or an integer (for v2 schema and earlier projects).Example: 20251222191648030d7df02f5b4054d4ca8831f1369459e25

Headers

string
required
API key for authentication (starts with pictai_)
string
required
Must be set to application/json

Request Body

The request body must contain the complete project object retrieved from the Get Project by ID endpoint. Modify only the fields you need to change while preserving all other fields.
Do not modify project fields if their usage is unclear. Incorrect modifications can cause unexpected behavior or corrupt your project. If you have questions about specific fields or their intended use, please contact our support team at support@pictory.ai before making changes.

Updatable Video Elements

The following sections describe the video element fields that can be safely modified. These structures match the response from the Get Project by ID endpoint.

Project-Level Fields

These top-level fields can be safely updated:

Scene Text (scenes[].text and scenes[].sentence)

Update the display text and narration for each scene:

Scene Text Styling (scenes[].styleData)

Modify text appearance for each scene:

Scene Settings (scenes[].settings)

Control scene playback behavior:

Background Image (scenes[].background with type: "image")

Update the background image for a scene:

Background Video (scenes[].background with type: "video")

Update the background video for a scene:

Solid Color Background (scenes[].background with type: "solid")

Set a solid color background:

Video Element Overlay (scenes[].elements[] with type: "video")

Update video clip overlays within a scene:

Text Element Overlay (scenes[].elements[] with type: "text")

Update text overlay elements within a scene:

Quick Reference: Safe Updates

Field: scenes[].background (type: image)Replace background image with Ken Burns effect and color overlay.
Field: scenes[].background (type: video)Replace background with a video clip.
Fields: scenes[].text, scenes[].sentence, scenes[].keywordsUpdate display text, formatting, and highlighted keywords.
Field: scenes[].styleDataUpdate text appearance, fonts, colors, and positioning.
Field: scenes[].settingsControl text visibility for the scene.
Field: scenes[].elements[] (type: video)Update video clips placed as overlays within scenes.
Field: scenes[].elements[] (type: text)Update text overlays and their styling/animations.
Fields: projectName, audioSpeed, videoVolumeUpdate basic project configuration.

Fields to Avoid Modifying

Do Not Modify These Fields unless you fully understand their structure and dependencies:
  • sceneId, elementId, projectId - Unique identifiers
  • partitionKey, sortKey - Database keys
  • audio_id, voiceOverId, audioId - Audio reference IDs
  • assetResponseId - Asset tracking identifiers
  • schemaVersion - Project schema version
  • approximateCreationDateTime - System timestamps
  • createdBy, modifiedBy, cognito_id - User identifiers
  • audios - Audio configuration (complex dependencies)
  • word_markers, time_markers, subScenes - Audio timing data
Modifying these fields without proper understanding can cause project corruption or rendering failures. Contact support@pictory.ai if you need guidance.

Response

The API returns a JSON response indicating the success or failure of the update operation. Success Response Fields: Error Response Fields:

Response Examples


Code Examples

Replace YOUR_API_KEY with your actual API key that starts with pictai_

Usage Notes

Always Retrieve Before Update: Always fetch the current project state using the GET endpoint before making modifications. This ensures you have the complete object with all required fields.
Complete Object Required: Even if you only want to change one field, you must send the entire project object. Omitting fields will cause them to be removed from the project.
Render After Update: Updating a project only saves the changes to the project data. To generate a new video with your updates, you must call the Render Project endpoint after the update is complete.
Test Changes First: When making significant updates, consider testing on a copy of the project first to ensure your modifications do not cause rendering issues.

Common Use Cases

1. Update Scene Background Visual

Replace the background media for a specific scene:

2. Update Scene Text

Modify the text and sentence for one or more scenes:

3. Update Scene Settings and Element Settings

Apply settings changes to scenes and their elements:

4. Update Project Metadata

Change project name and playback settings:

5. Replace All Scene Backgrounds

Replace backgrounds for all scenes at once:

6. Safe Update with Validation

Implement validation before updating:

Best Practices

Safety Guidelines

  1. Always Fetch First: Get the current project state before making any modifications
  2. Preserve All Fields: Include all fields in the update request, even if unchanged
  3. Test on Copies: Test significant changes on duplicate projects first
  4. Validate Before Sending: Ensure all required fields are present before updating
  5. Keep Backups: Save the original project state before applying updates

Common Pitfalls to Avoid

  • ❌ Partial Updates: Sending only modified fields will delete other fields
  • ❌ Missing Required Fields: Omitting critical fields causes project corruption
  • ❌ Invalid Values: Using incorrect data types or formats for fields
  • ❌ Modifying System Fields: Changing internal IDs or metadata
  • ❌ No Validation: Updating without checking the project state first

Performance Tips

  • Batch multiple changes in a single update request
  • Minimize the frequency of updates during active editing
  • Cache the project object locally during editing sessions
  • Only fetch/update when necessary to reduce API calls