Vannmerke-API

Legg til tekst-, bilde-, mønster-, QR-/strekkode- og lydvannmerker på bilder, PDF-er, videoer, dokumenter, lyd, 3D-modeller og e-bøker. Batchbehandling, maler, deteksjon og fjerning.

99.9 % Oppetid
Svar
15 req/s
0.1 Kreditter / forespørsel

Add Text Watermark


POST https://api.yeb.to/v1/watermark/add-text
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
text string ja Watermark text (max 500 chars)
font_family string valgfri Font name (default: Arial)
font_size integer valgfri Font size 8–500 (default: 48)
color string valgfri Hex color (default: #ffffff)
opacity number valgfri Opacity 0–1 (default: 0.5)
position string valgfri top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right, custom (default: bottom-right)
rotation number valgfri Degrees −360 to 360 (default: 0)
shadow boolean valgfri Drop shadow (default: false)
outline boolean valgfri Text outline (default: false)
async boolean valgfri Queue for async processing
return_base64 boolean valgfri Include base64 in response

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/add-text \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/photo.jpg",
  "text": "© 2026 My Company",
  "opacity": 0.5,
  "position": "bottom-right",
  "font_size": 36,
  "color": "#ffffff"
}'

Svareksempel

{
  "job_id": 1234,
  "status": "completed",
  "url": "https://storage.yeb.to/watermark/output/abc123.jpg",
  "file_size": 245678,
  "credits_used": 0.10,
  "response_code": 200
}
{"error":"text is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Add Text Watermark

watermark/add-text 0.1000 credits

Parameters

API Key
body · string · required
File
body · string · required
Text
body · string · required
Font Family
body · string
Font Size
body · string
Color
body · string
Opacity
body · string
Position
body · string
Rotation
body · string
Shadow
body · string
Outline
body · string
Async
body · string
Return Base64
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Add Image Watermark


POST https://api.yeb.to/v1/watermark/add-image
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
watermark_image file ja Logo/image file (multipart). Alt: watermark_image_url or watermark_image_base64
opacity number valgfri Opacity 0–1 (default: 0.5)
position string valgfri top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right, custom (default: bottom-right)
scale number valgfri Size multiplier 0.01–5 (default: 0.2)
rotation number valgfri Degrees −360 to 360 (default: 0)
async boolean valgfri Queue for async processing
return_base64 boolean valgfri Include base64 in response

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/add-image \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/photo.jpg",
  "watermark_image_url": "https://example.com/logo.png",
  "opacity": 0.7,
  "position": "bottom-right",
  "scale": 0.2
}'

Svareksempel

{
  "job_id": 1235,
  "status": "completed",
  "url": "https://storage.yeb.to/watermark/output/def456.jpg",
  "file_size": 312456,
  "credits_used": 0.10,
  "response_code": 200
}
{"error":"watermark image is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Add Image Watermark

watermark/add-image 0.1000 credits

Parameters

API Key
body · string · required
File
body · string · required
Watermark Image
body · string · required
Opacity
body · string
Position
body · string
Scale
body · string
Rotation
body · string
Async
body · string
Return Base64
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Add Pattern Watermark


POST https://api.yeb.to/v1/watermark/add-pattern
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
text string ja Pattern text (max 200 chars)
font_size integer valgfri Font size 8–200 (default: 32)
color string valgfri Hex color (default: #808080)
opacity number valgfri Opacity 0–1 (default: 0.15)
rotation number valgfri Degrees −360 to 360 (default: −30)
spacing_x integer valgfri Horizontal spacing 50–2000 (default: 300)
spacing_y integer valgfri Vertical spacing 50–2000 (default: 200)
async boolean valgfri Queue for async processing
return_base64 boolean valgfri Include base64 in response

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/add-pattern \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/photo.jpg",
  "text": "CONFIDENTIAL",
  "opacity": 0.15,
  "rotation": -30
}'

Svareksempel

{
  "job_id": 1236,
  "status": "completed",
  "url": "https://storage.yeb.to/watermark/output/ghi789.jpg",
  "file_size": 289012,
  "credits_used": 0.15,
  "response_code": 200
}
{"error":"text is required for pattern watermark","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Add Pattern Watermark

watermark/add-pattern 0.1500 credits

Parameters

API Key
body · string · required
File
body · string · required
Text
body · string · required
Font Size
body · string
Color
body · string
Opacity
body · string
Rotation
body · string
Spacing X
body · string
Spacing Y
body · string
Async
body · string
Return Base64
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Add Code Watermark


POST https://api.yeb.to/v1/watermark/add-code
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
payload string ja Data to encode (max 2000 chars)
code_format string ja Code type: qr, code128, code39, ean13, ean8, datamatrix
encryption_key string valgfri AES-256 encryption key for payload
code_color string valgfri Code hex color (default: #000000)
code_bg_color string valgfri Background hex color (default: #FFFFFF)
opacity number valgfri Opacity 0–1 (default: 0.8)
position string valgfri top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right, custom (default: bottom-right)
scale number valgfri Size multiplier 0.01–5 (default: 0.15)
async boolean valgfri Queue for async processing
return_base64 boolean valgfri Include base64 in response

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/add-code \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/photo.jpg",
  "payload": "OWNER-2026-ID-12345",
  "code_format": "qr",
  "position": "bottom-right"
}'

Svareksempel

{
  "job_id": 1237,
  "status": "completed",
  "url": "https://storage.yeb.to/watermark/output/jkl012.jpg",
  "file_size": 267890,
  "credits_used": 0.15,
  "response_code": 200
}
{"error":"payload is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Add Code Watermark

watermark/add-code 0.1500 credits

Parameters

API Key
body · string · required
File
body · string · required
Payload
body · string · required
Code Format
body · string · required
Encryption Key
body · string
Code Color
body · string
Background
body · string
Opacity
body · string
Position
body · string
Scale
body · string
Async
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Add Audio Watermark


POST https://api.yeb.to/v1/watermark/add-audio
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja Video or audio file. Alt: file_url, file_base64
audio_file file valgfri Watermark audio file. Alt: audio_url
audio_type string ja Type: voice_tag, tone, intro_outro, ultrasonic
volume number valgfri Volume 0–1 (default: 0.3)
position string valgfri Where to place: start, end, repeat, random
interval_seconds integer valgfri Repeat interval 5–3600 sec (default: 30)
frequency integer valgfri Hz for ultrasonic 100–22000 (default: 19000)
async boolean valgfri Queue for async processing

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/add-audio \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/video.mp4",
  "audio_type": "ultrasonic",
  "frequency": 19000,
  "position": "repeat",
  "interval_seconds": 30
}'

Svareksempel

{
  "job_id": 1238,
  "status": "queued",
  "message": "Audio watermark processing queued",
  "credits_used": 0.30,
  "response_code": 200
}
{"error":"audio_type is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Add Audio Watermark

watermark/add-audio 0.3000 credits

Parameters

API Key
body · string · required
File
body · string · required
Audio File
body · string
Audio Type
body · string · required
Volume
body · string
Position
body · string
Interval
body · string
Frequency
body · string
Async
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Preview Watermark


POST https://api.yeb.to/v1/watermark/preview
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja Image file only. Alt: file_url, file_base64
watermark_type string valgfri Type: text, image, pattern, code (default: text)
text string valgfri Watermark text (for text/pattern type)
opacity number valgfri Opacity 0–1
position string valgfri Watermark position

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/preview \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/photo.jpg",
  "watermark_type": "text",
  "text": "PREVIEW",
  "opacity": 0.5
}'

Svareksempel

{
  "preview_url": "https://storage.yeb.to/watermark/preview/xyz.jpg",
  "response_code": 200
}
{"error":"file is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Preview

watermark/preview 0.0000 credits

Parameters

API Key
body · string · required
File
body · string · required
Watermark Type
body · string
Text
body · string
Opacity
body · string
Position
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Batch Process


POST https://api.yeb.to/v1/watermark/batch
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
files array ja Array of files to watermark (max 100). Upload via multipart/form-data with multiple file fields
watermark_type string ja Type: text, image, pattern, code
text string valgfri Watermark text
opacity number valgfri Opacity 0–1
position string valgfri Watermark position

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/batch \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "watermark_type": "text",
  "text": "BATCH WATERMARK",
  "opacity": 0.5,
  "position": "center"
}'

Svareksempel

{
  "batch_id": 42,
  "total_items": 5,
  "status": "processing",
  "credits_used": 0.40,
  "response_code": 200
}
{"error":"files field is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Batch Process

watermark/batch 0.0800 credits

Parameters

API Key
body · string · required
Files
body · string · required
Watermark Type
body · string · required
Text
body · string
Opacity
body · string
Position
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Batch Status


POST https://api.yeb.to/v1/watermark/batch-status
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
batch_id integer ja Batch ID to check

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/batch-status \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "batch_id": 42
}'

Svareksempel

{
  "batch_id": 42,
  "status": "completed",
  "total_items": 5,
  "completed_items": 5,
  "failed_items": 0,
  "credits_used": 0.40,
  "items": [
    {
      "job_id": 101,
      "status": "completed",
      "url": "..."
    }
  ],
  "response_code": 200
}
{"error":"batch_id is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Batch Status

watermark/batch-status 0.0000 credits

Parameters

API Key
body · string · required
Batch ID
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Job Status


POST https://api.yeb.to/v1/watermark/status
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
job_id integer ja Job ID to check

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/status \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "job_id": 1234
}'

Svareksempel

{
  "job_id": 1234,
  "status": "completed",
  "progress_percent": 100,
  "url": "https://storage.yeb.to/watermark/output/abc123.jpg",
  "file_size": 245678,
  "output_format": "jpg",
  "credits_used": 0.10,
  "response_code": 200
}
{"error":"job not found","code":404}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Job Status

watermark/status 0.0000 credits

Parameters

API Key
body · string · required
Job ID
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Download Result


POST https://api.yeb.to/v1/watermark/download
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
job_id integer ja Completed job ID
return_base64 boolean valgfri Include base64-encoded file in response

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/download \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "job_id": 1234
}'

Svareksempel

{
  "url": "https://storage.yeb.to/watermark/output/abc123.jpg",
  "filename": "photo_watermarked.jpg",
  "file_size": 245678,
  "response_code": 200
}
{"error":"job is not completed yet","code":400}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Download

watermark/download 0.0000 credits

Parameters

API Key
body · string · required
Job ID
body · string · required
Return Base64
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

List Templates


POST https://api.yeb.to/v1/watermark/templates
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
category string valgfri Filter by category name

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/templates \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY"
}'

Svareksempel

{
  "templates": [
    {
      "id": 1,
      "name": "Company Logo",
      "slug": "company-logo",
      "category": "custom",
      "watermark_type": "image",
      "config": {
        "opacity": 0.5,
        "position": "bottom-right"
      }
    }
  ],
  "response_code": 200
}
{"error":"unauthorized","code":401}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

List Templates

watermark/templates 0.0000 credits

Parameters

API Key
body · string · required
Category
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Save Template


POST https://api.yeb.to/v1/watermark/template-save
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
name string ja Template name (max 100)
watermark_type string ja Type: text, image, pattern, audio, invisible, code
config object ja Watermark configuration object
template_id integer valgfri Update existing template (omit to create new)
category string valgfri Category name (default: custom)

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/template-save \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "name": "My Text Template",
  "watermark_type": "text",
  "config": {
    "text": "\u00a9 My Company",
    "opacity": 0.5,
    "position": "bottom-right",
    "font_size": 36
  }
}'

Svareksempel

{
  "template_id": 15,
  "message": "Template saved successfully",
  "response_code": 200
}
{"error":"name is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Save Template

watermark/template-save 0.0000 credits

Parameters

API Key
body · string · required
Name
body · string · required
Watermark Type
body · string · required
Config
body · string · required
Template ID
body · string
Category
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Delete Template


POST https://api.yeb.to/v1/watermark/template-delete
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
template_id integer ja Template ID to delete

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/template-delete \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "template_id": 15
}'

Svareksempel

{
  "message": "Template deleted successfully",
  "response_code": 200
}
{"error":"template not found","code":404}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Delete Template

watermark/template-delete 0.0000 credits

Parameters

API Key
body · string · required
Template ID
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Detect Watermark


POST https://api.yeb.to/v1/watermark/detect
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja File to analyze (multipart upload). Alt: file_url or file_base64

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/detect \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/watermarked-photo.jpg"
}'

Svareksempel

{
  "has_watermark": true,
  "detections": [
    {
      "type": "text",
      "confidence": 0.92,
      "region": {
        "x": 50,
        "y": 450,
        "width": 200,
        "height": 30
      }
    }
  ],
  "response_code": 200
}
{"error":"file is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Detect Watermark

watermark/detect 0.5000 credits

Parameters

API Key
body · string · required
File
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Verify Watermark


POST https://api.yeb.to/v1/watermark/verify
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja File to verify (multipart upload). Alt: file_url or file_base64
tracking_id string ja Metadata watermark tracking ID to verify

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/verify \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/photo.jpg",
  "tracking_id": "TRK-2026-001"
}'

Svareksempel

{
  "verified": true,
  "tracking_id": "TRK-2026-001",
  "details": {
    "embedded_at": "2026-02-20T10:30:00Z",
    "type": "metadata"
  },
  "response_code": 200
}
{"error":"tracking_id is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Verify Watermark

watermark/verify 0.3000 credits

Parameters

API Key
body · string · required
File
body · string · required
Tracking ID
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Remove Watermark


POST https://api.yeb.to/v1/watermark/remove
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja File to process (multipart upload). Alt: file_url or file_base64
x integer valgfri X coordinate of region to remove
y integer valgfri Y coordinate of region to remove
width integer valgfri Width of region (default: 100)
height integer valgfri Height of region (default: 50)

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/remove \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "file_url": "https://example.com/watermarked-photo.jpg"
}'

Svareksempel

{
  "job_id": 1240,
  "status": "completed",
  "url": "https://storage.yeb.to/watermark/output/cleaned.jpg",
  "file_size": 234567,
  "credits_used": 1.00,
  "response_code": 200
}
{"error":"file is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Remove Watermark

watermark/remove 1.0000 credits

Parameters

API Key
body · string · required
File
body · string · required
X
body · string
Y
body · string
Width
body · string
Height
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Decode Code Payload


POST https://api.yeb.to/v1/watermark/decode-code
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
scanned_text string ja Encrypted text from scanned QR/barcode
encryption_key string ja Decryption key used during watermarking

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/decode-code \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "scanned_text": "base64iv:encrypteddata...",
  "encryption_key": "my-secret-key"
}'

Svareksempel

{
  "payload": "OWNER-2026-ID-12345",
  "response_code": 200
}
{"error":"decryption failed - invalid key","code":400}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Decode Code

watermark/decode-code 0.0500 credits

Parameters

API Key
body · string · required
Scanned Text
body · string · required
Encryption Key
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Read Code from Image


POST https://api.yeb.to/v1/watermark/read-code
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
file file ja Image with QR/code watermark (multipart upload)
encryption_key string valgfri Decryption key to decode encrypted payload

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/read-code \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY"
}'

Svareksempel

{
  "scanned_text": "OWNER-2026-ID-12345",
  "encrypted": false,
  "response_code": 200
}
{"error":"No QR code found in this image","code":400}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Read Code from Image

watermark/read-code 0.0500 credits

Parameters

API Key
body · string · required
File
body · string · required
Encryption Key
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

List Brand Kits


POST https://api.yeb.to/v1/watermark/brand-kit-list
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/brand-kit-list \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY"
}'

Svareksempel

{
  "brand_kits": [
    {
      "id": 1,
      "name": "Acme Corp",
      "logos": [],
      "fonts": ["Arial", "Helvetica"],
      "colors": ["#e11d48", "#ffffff"],
      "is_default": true
    }
  ],
  "response_code": 200
}
{"error":"unauthorized","code":401}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

List Brand Kits

watermark/brand-kit-list 0.0000 credits

Parameters

API Key
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Save Brand Kit


POST https://api.yeb.to/v1/watermark/brand-kit-save
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
name string ja Brand kit name (max 100)
logos array valgfri Array of logo definitions
fonts array valgfri Array of font names
colors array valgfri Array of hex color values
default_config object valgfri Default watermark config
is_default boolean valgfri Set as default brand kit
brand_kit_id integer valgfri Update existing (omit to create new)

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/brand-kit-save \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "name": "Acme Corp",
  "fonts": ["Arial", "Helvetica"],
  "colors": ["#e11d48", "#ffffff", "#1c1917"],
  "is_default": true
}'

Svareksempel

{
  "brand_kit_id": 5,
  "message": "Brand kit saved successfully",
  "response_code": 200
}
{"error":"name is required","code":422}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Save Brand Kit

watermark/brand-kit-save 0.0000 credits

Parameters

API Key
body · string · required
Name
body · string · required
Logos
body · string
Fonts
body · string
Colors
body · string
Default Config
body · string
Is Default
body · string
Brand Kit ID
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Delete Brand Kit


POST https://api.yeb.to/v1/watermark/brand-kit-delete
ParameterTypePåkrevdBeskrivelse
api_key string ja Your API key
brand_kit_id integer ja Brand kit ID to delete

Eksempel

curl -X POST https://api.yeb.to/v1/watermark/brand-kit-delete \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "brand_kit_id": 5
}'

Svareksempel

{
  "message": "Brand kit deleted successfully",
  "response_code": 200
}
{"error":"brand kit not found","code":404}

Svarkoder

KodeBeskrivelse
200 SuccessForespørsel behandlet OK.
400 Bad RequestInngangsvalidering mislyktes.
401 UnauthorizedManglende / feil API-nøkkel.
403 ForbiddenNøkkel inaktiv eller ikke tillatt.
429 Rate LimitFor mange forespørsler.
500 Server ErrorUventet feil.

Delete Brand Kit

watermark/brand-kit-delete 0.0000 credits

Parameters

API Key
body · string · required
Brand Kit ID
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Vannmerke-API — Practical Guide

A hands-on guide to the Watermark API: add text, image, pattern, QR/barcode, and audio watermarks to any file type. Batch processing, reusable templates, AI-powered detection & removal, and brand kit management.

#What the Watermark API does

The Watermark API provides 21 endpoints for adding, managing, detecting, and removing watermarks across 7 file types: images, PDFs, videos, audio, documents, 3D models, and eBooks.

#Endpoints at a glance

Endpoint What it does Credits
add-text Add a text watermark (font, size, color, opacity, rotation, shadow, outline) 0.1
add-image Overlay an image/logo watermark with scaling and positioning 0.1
add-pattern Tile repeating text across the entire file 0.15
add-code Embed a QR code or barcode (Code128, EAN-13, DataMatrix, etc.) 0.15
add-audio Add audio watermarks: voice tags, tones, intros/outros, ultrasonic 0.3
preview Preview watermark placement without processing (free) 0
batch Watermark up to 50 files in one request 0.08
batch-status Check batch processing progress 0
status Check individual job status 0
download Download the watermarked result 0
templates List saved watermark templates 0
template-save Save a reusable watermark configuration 0
template-delete Delete a saved template 0
detect AI-powered watermark detection in images 0.5
verify Verify a specific tracking ID in a file 0.3
remove AI-powered watermark removal from images 1
decode-code Decrypt an encrypted barcode/QR payload 0.05
read-code Scan and read a QR/barcode from an image 0.05
brand-kit-list List brand kits (logos, fonts, colors) 0
brand-kit-save Save or update a brand kit 0
brand-kit-delete Delete a brand kit 0

#Supported file formats

CategoryFormatsWatermark Types
ImagesJPEG, PNG, GIF, BMP, WebP, TIFFText, Image, Pattern, Code
PDFPDFText, Image, Pattern, Code
VideoMP4, AVI, MOV, MKV, WebMText, Image, Pattern, Code
AudioMP3, WAV, FLAC, OGG, AACAudio (voice tag, tone, intro/outro, ultrasonic)
DocumentsDOCX, XLSX, PPTXText, Image
3D ModelsOBJ, STL, GLTF, FBXText, Image
eBooksEPUB, MOBIText, Image

#Quick start

Add a text watermark to an image in one API call:

POST
curl -X POST https://api.yeb.to/v1/watermark/add-text \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_KEY",
    "file_url": "https://example.com/photo.jpg",
    "text": "© 2026 My Company",
    "opacity": 0.5,
    "position": "bottom-right",
    "font_size": 36,
    "color": "#ffffff"
  }'

The response includes the watermarked file URL immediately for small files, or a job_id for async processing of larger files:

{
  "job_id": 1234,
  "status": "completed",
  "url": "https://storage.yeb.to/watermark/output/abc123.jpg",
  "file_size": 245678,
  "credits_used": 0.10,
  "response_code": 200
}

#Watermark types explained

Text watermark

The add-text endpoint overlays customizable text. Control the font family, size (8–500px), color, opacity (0–1), position (9 presets + custom x/y), rotation (-360° to 360°), and optional shadow or outline effects.

Image watermark

The add-image endpoint overlays a logo or image. Upload via watermark_image, watermark_image_url, or watermark_image_base64. Control opacity, position, scale, and rotation.

Pattern watermark

The add-pattern endpoint tiles repeating text across the entire file — commonly used for “DRAFT” or “CONFIDENTIAL” overlays. Adjust font size, color, opacity, rotation, and horizontal/vertical spacing.

Code watermark (QR/barcode)

The add-code endpoint embeds a machine-readable code. Supported formats: QR, Code128, Code39, EAN-13, EAN-8, and DataMatrix. Optionally encrypt the payload with an encryption_key for tamper-proof verification.

Audio watermark

The add-audio endpoint embeds audio marks into audio/video files. Four types: voice_tag (spoken watermark), tone (beep/chime), intro_outro (clip at start/end), and ultrasonic (inaudible high-frequency mark for tracking).

#Batch processing

Watermark up to 50 files in a single API call using the batch endpoint. All files receive the same watermark configuration. The request returns a batch_id that you can poll with batch-status to track progress.

  • Each file is processed independently and asynchronously
  • Credits are charged per file (same rate as individual endpoints)
  • Failed files don’t block the rest of the batch
  • Results are available for download as each file completes

#Reusable templates

Save your watermark configuration as a template to reuse across requests. Templates store the watermark type, position, opacity, font settings, and all other parameters.

  1. Savetemplate-save creates or updates a template with a name and config object
  2. Listtemplates returns all your saved templates, optionally filtered by category
  3. Use — pass a template_id to any watermark endpoint to apply saved settings
  4. Deletetemplate-delete removes a template by ID

#Code watermarks & verification

Code watermarks enable machine-readable tracking. The workflow:

  1. add-code — embed a QR/barcode with an optional encrypted payload
  2. read-code — scan the code from an image to extract the raw payload
  3. decode-code — decrypt the payload using your encryption key

This is useful for tracking document provenance, verifying authenticity, or embedding license keys in media files.

#Detection & removal

Three AI-powered endpoints for working with existing watermarks:

  • detect (0.50 credits) — analyzes an image to find watermark regions, returning bounding boxes and confidence scores
  • verify (0.30 credits) — checks if a specific tracking ID or steganographic mark is present in a file
  • remove (1.00 credits) — attempts AI-powered watermark removal from images (works best on semi-transparent text overlays)

#Brand kits

Brand kits store your organization’s logos, fonts, colors, and default watermark configuration. Once saved, they can be referenced across all watermark endpoints for consistent branding.

  • brand-kit-save — create or update a kit with name, logos, fonts, colors, and default config
  • brand-kit-list — retrieve all your brand kits
  • brand-kit-delete — remove a kit by ID

#Authentication

All requests require an api_key parameter in the JSON body. Get your key from the dashboard. The key identifies your account and is used for credit billing and rate limiting.

#Error handling

Standard HTTP status codes are used. Common errors:

CodeMeaning
400Bad request — missing or invalid parameters
401Unauthorized — invalid or missing API key
402Insufficient credits
413File too large (max 50 MB for images, 500 MB for video)
422Validation error — check the error field for details
429Rate limit exceeded — max 15 req/s
500Server error — retry or contact support

Ofte stilte spørsmål

Bilder (JPEG, PNG, GIF, BMP, WebP, TIFF), PDF-er, videoer (MP4, AVI, MOV, MKV, WebM), lyd (MP3, WAV, FLAC, OGG, AAC), dokumenter (DOCX, XLSX, PPTX), 3D-modeller (OBJ, STL, GLTF, FBX) og e-bøker (EPUB, MOBI).

Fem typer: tekst (tilpassbar skrifttype, størrelse, farge, gjennomsiktighet, rotasjon, skygge, omriss), bildeoverlegg (logo med skalering og posisjonering), flismønster (gjentatt tekst over hele filen), QR/strekkode (maskinlesbare koder med valgfri kryptering) og lyd (stemmetagger, toner, introer/outroer, ultralydsmerker).

Ja. Batch-endpunktet godtar opptil 50 filer per forespørsel. Hver fil behandles asynkront, og du kan sjekke fremdriften med batch-status.

Ja. Deteksjonsendpunktet bruker AI til å finne eksisterende vannmerker i bilder. Fjernelsesendpunktet forsøker AI-drevet vannmerkefjerning. Verifikasjonsendpunktet sjekker om en bestemt sporings-ID er innebygd i en fil.

add-code-endpunktet bygger inn en QR-kode, Code128, Code39, EAN-13, EAN-8 eller DataMatrix-strekkode i filen din. Du kan valgfritt kryptere nyttelasten. Bruk decode-code for å dekryptere, eller read-code for å skanne koden fra et bilde.

Maler lagrer vannmerkekonfigurasjonen din (type, posisjon, gjennomsiktighet, skrifttype osv.) slik at du kan gjenbruke dem. Opprett maler via template-save og vis dem med templates-endpunktet.

Ja. Hver forespørsel, selv de som resulterer i feil, forbruker kreditter. Kredittene dine er knyttet til antall forespørsler, uavhengig av suksess eller feil. Hvis feilen tydelig skyldes et plattformproblem på vår side, gjenoppretter vi de berørte kredittene (ingen kontantrefusjon).

Kontakt oss på [email protected]. Vi tar tilbakemeldinger på alvor—hvis feilrapporten eller funksjonsforespørselen din er meningsfull, kan vi fikse eller forbedre API-et raskt og gi deg 50 gratis kreditter som takk.

Det avhenger av API-et og noen ganger til og med av endepunktet. Noen endepunkter bruker data fra eksterne kilder, som kan ha strengere grenser. Vi håndhever også grenser for å forhindre misbruk og holde plattformen stabil. Sjekk dokumentasjonen for den spesifikke grensen for hvert endepunkt.

Vi opererer med et kredittsystem. Kreditter er forhåndsbetalte, ikke-refunderbare enheter du bruker på API-kall og verktøy. Kreditter forbrukes etter FIFO-prinsippet (eldste først) og er gyldige i 12 måneder fra kjøpsdatoen. Dashbordet viser hver kjøpsdato og dens utløp.

Ja. Alle kjøpte kreditter (inkludert brøkdeler) er gyldige i 12 måneder fra kjøpet. Ubrukte kreditter utløper automatisk og slettes permanent ved slutten av gyldighetsperioden. Utløpte kreditter kan ikke gjenopprettes eller konverteres til kontanter eller annen verdi. Overgangsregel: kreditter kjøpt før 22. sep. 2025 behandles som kjøpt 22. sep. 2025 og utløper 22. sep. 2026 (med mindre en tidligere utløpsdato ble oppgitt ved kjøpet).

Ja—innenfor gyldighetsperioden. Ubrukte kreditter forblir tilgjengelige og overføres fra måned til måned til de utløper 12 måneder etter kjøpet.

Kreditter er ikke-refunderbare. Kjøp bare det du trenger—du kan alltid fylle på senere. Hvis en plattformfeil forårsaker en mislykket belastning, kan vi gjenopprette de berørte kredittene etter undersøkelse. Ingen kontantrefusjon.

Prisene er satt i kreditter, ikke dollar. Hvert endepunkt har sin egen pris—se merket «Kreditter / forespørsel» ovenfor. Du vet alltid nøyaktig hva du bruker.
← Tilbake til API-er