Apply watermark to an image
POST/social-media-posting/:locationId/watermarks/add-image-watermark
Apply a watermark to an image using either a specific template ID or by resolving the template bound to a specific connected account.
If the same watermark + image combination has been processed before, the response returns immediately with status: completed and the output URL in message. Otherwise, processing is queued and the response returns status: pending with a progressId.
Rate limits: This endpoint may be rate-limited to prevent abuse. To resolve a template dynamically at publish time, pass accountId — the endpoint will resolve the template bound to that connected account. Use the Get Accounts endpoint to look up account IDs.
Request
API Version
v3Location Id
- application/json
- Body
- Example (auto)
Bodyrequired
Template ID to apply. Required if accountId is not provided.
Connected account ID — the endpoint will resolve the template bound to this account. Required if templateId is not provided. Use the Get Accounts endpoint to look up account IDs.
Input image URL to watermark
MIME type of the input media
Optional post ID to associate the watermark output with
Optional cache key to fetch a previously-generated watermark result
Whether to update or create the linked post after watermarking
{
"templateId": "665f1bac78fda9b6c5f48012",
"accountId": "665f1bac78fda9b6c5f48099",
"inputMediaUrl": "http://example.com/media.png",
"mimeType": "image/png",
"postId": "ve9EPM428h8vShlRW1KT",
"watermarkId": "ve9EPM428h8vShlRW1KT",
"updatePost": false
}
Watermark processing initiated or cached result returned
- application/json
- Schema
- Example (auto)
Schema
Success or Failure
Status Code
Message
Async processing state
{
"success": true,
"statusCode": 200,
"message": "Watermark preview processing initiated.",
"results": {
"progressId": "abc123def456",
"status": "pending",
"message": "Watermark preview processing initiated.",
"outputMediaUrl": "https://storage.googleapis.com/bucket/watermarked.png"
}
}