Skip to main content
Apply watermark
Submit a media asset to have one or more watermarking policies applied to it. The request must be sent as multipart/form-data, with the asset to watermark uploaded in the file field. Processing is asynchronous: the endpoint returns a submission id and its status, and the watermarked asset becomes available once the status is done.

Policies

Pass one or more values in the policies field. At least one is required.

Example request

Authorizations

X-Api-Key
string
header
required

Body

multipart/form-data
file
file
required

The media asset to watermark. Upload it in this field.

policies
enum<string>[]
required

One or more watermarking policies to apply to the asset. At least one policy is required.

  • european-watermarks: apply an invisible watermark following the European (EU AI Act) transparency approach.
  • chinese-watermarks: apply visible/invisible labels following the Chinese AIGC labelling regulation.
  • aigc-metadata: embed AIGC / provenance metadata (see AIGCMetadataType) without altering the pixels.
  • custom: overlay a custom visible logo, configured through the logo* parameters.
Available options:
european-watermarks,
chinese-watermarks,
aigc-metadata,
custom
groundTruth
enum<string>

Declared nature of the content, embedded in the provenance metadata.

Available options:
human,
artificial,
partially-ai-gen,
fully-ai-gen
logoStorageUrl
string

custom policy: storage URL of the logo image to overlay on the asset.

logoStorageProvider
string

custom policy: identifier of the storage provider that hosts logoStorageUrl.

logoMargin
number

custom policy: margin, in pixels, between the logo and the edges of the asset.

minLogoRatio
number

custom policy: minimum size of the logo relative to the asset (0-1).

maxLogoRatio
number

custom policy: maximum size of the logo relative to the asset (0-1).

aigcLabel
enum<integer>

aigc-metadata policy: AIGC labelling level. 1 = confirmed AI-generated, 2 = probably AI-generated, 3 = suspicious / possibly AI-generated.

Available options:
1,
2,
3
producerId
string

aigc-metadata policy: identifier of the content producer.

contentProducer
string

aigc-metadata policy: name of the content producer (the entity that generated the content).

contentPropagator
string

aigc-metadata policy: name of the content propagator (the entity that distributes the content).

propagateId
string

aigc-metadata policy: identifier of the content propagator.

models
string[]

Optional list of watermarking model names to use. If omitted, the default models available for your tier are used.

author
string

Author name to embed in the provenance metadata.

Response

Submission accepted. Returns the submission identifier and its current status.

id
string
required

Identifier of the watermarking submission. Use it to poll GET /api/v2/watermark/{id}.

status
enum<string>
required

Current status of the submission. result is populated only once the status is done.

Available options:
new,
inprogress,
done,
errored
result
object | null
required

Watermarking result. null while the submission is still being processed; populated once status is done.

watermarks_errors
string[]

Submission-level errors raised while preparing the watermarking job. Absent when there are none.