API водяних знаків

Додавайте текстові, графічні, візерункові, QR/штрих-кодові та аудіо водяні знаки до зображень, PDF, відео, документів, аудіо, 3D-моделей та електронних книг. Пакетна обробка, шаблони, виявлення та видалення.

99.9 % Час роботи
Відповідь
15 req/s
0.1 Кредити / запит

Add Text Watermark


POST https://api.yeb.to/v1/watermark/add-text
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
text string так Watermark text (max 500 chars)
font_family string необов'язковий Font name (default: Arial)
font_size integer необов'язковий Font size 8–500 (default: 48)
color string необов'язковий Hex color (default: #ffffff)
opacity number необов'язковий Opacity 0–1 (default: 0.5)
position string необов'язковий top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right, custom (default: bottom-right)
rotation number необов'язковий Degrees −360 to 360 (default: 0)
shadow boolean необов'язковий Drop shadow (default: false)
outline boolean необов'язковий Text outline (default: false)
async boolean необов'язковий Queue for async processing
return_base64 boolean необов'язковий Include base64 in response

Приклад

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"
}'

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
watermark_image file так Logo/image file (multipart). Alt: watermark_image_url or watermark_image_base64
opacity number необов'язковий Opacity 0–1 (default: 0.5)
position string необов'язковий top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right, custom (default: bottom-right)
scale number необов'язковий Size multiplier 0.01–5 (default: 0.2)
rotation number необов'язковий Degrees −360 to 360 (default: 0)
async boolean необов'язковий Queue for async processing
return_base64 boolean необов'язковий Include base64 in response

Приклад

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
}'

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
text string так Pattern text (max 200 chars)
font_size integer необов'язковий Font size 8–200 (default: 32)
color string необов'язковий Hex color (default: #808080)
opacity number необов'язковий Opacity 0–1 (default: 0.15)
rotation number необов'язковий Degrees −360 to 360 (default: −30)
spacing_x integer необов'язковий Horizontal spacing 50–2000 (default: 300)
spacing_y integer необов'язковий Vertical spacing 50–2000 (default: 200)
async boolean необов'язковий Queue for async processing
return_base64 boolean необов'язковий Include base64 in response

Приклад

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
}'

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так File to watermark (image, PDF, video, doc, audio, 3D, eBook). Alt: file_url or file_base64
payload string так Data to encode (max 2000 chars)
code_format string так Code type: qr, code128, code39, ean13, ean8, datamatrix
encryption_key string необов'язковий AES-256 encryption key for payload
code_color string необов'язковий Code hex color (default: #000000)
code_bg_color string необов'язковий Background hex color (default: #FFFFFF)
opacity number необов'язковий Opacity 0–1 (default: 0.8)
position string необов'язковий top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right, custom (default: bottom-right)
scale number необов'язковий Size multiplier 0.01–5 (default: 0.15)
async boolean необов'язковий Queue for async processing
return_base64 boolean необов'язковий Include base64 in response

Приклад

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"
}'

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так Video or audio file. Alt: file_url, file_base64
audio_file file необов'язковий Watermark audio file. Alt: audio_url
audio_type string так Type: voice_tag, tone, intro_outro, ultrasonic
volume number необов'язковий Volume 0–1 (default: 0.3)
position string необов'язковий Where to place: start, end, repeat, random
interval_seconds integer необов'язковий Repeat interval 5–3600 sec (default: 30)
frequency integer необов'язковий Hz for ultrasonic 100–22000 (default: 19000)
async boolean необов'язковий Queue for async processing

Приклад

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
}'

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так Image file only. Alt: file_url, file_base64
watermark_type string необов'язковий Type: text, image, pattern, code (default: text)
text string необов'язковий Watermark text (for text/pattern type)
opacity number необов'язковий Opacity 0–1
position string необов'язковий Watermark position

Приклад

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
}'

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
files array так Array of files to watermark (max 100). Upload via multipart/form-data with multiple file fields
watermark_type string так Type: text, image, pattern, code
text string необов'язковий Watermark text
opacity number необов'язковий Opacity 0–1
position string необов'язковий Watermark position

Приклад

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"
}'

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
batch_id integer так Batch ID to check

Приклад

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

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
job_id integer так Job ID to check

Приклад

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

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
job_id integer так Completed job ID
return_base64 boolean необов'язковий Include base64-encoded file in response

Приклад

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

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
category string необов'язковий Filter by category name

Приклад

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

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
name string так Template name (max 100)
watermark_type string так Type: text, image, pattern, audio, invisible, code
config object так Watermark configuration object
template_id integer необов'язковий Update existing template (omit to create new)
category string необов'язковий Category name (default: custom)

Приклад

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
  }
}'

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
template_id integer так Template ID to delete

Приклад

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

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так File to analyze (multipart upload). Alt: file_url or file_base64

Приклад

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"
}'

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так File to verify (multipart upload). Alt: file_url or file_base64
tracking_id string так Metadata watermark tracking ID to verify

Приклад

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"
}'

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так File to process (multipart upload). Alt: file_url or file_base64
x integer необов'язковий X coordinate of region to remove
y integer необов'язковий Y coordinate of region to remove
width integer необов'язковий Width of region (default: 100)
height integer необов'язковий Height of region (default: 50)

Приклад

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"
}'

Приклад відповіді

{
  "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}

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
scanned_text string так Encrypted text from scanned QR/barcode
encryption_key string так Decryption key used during watermarking

Приклад

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"
}'

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
file file так Image with QR/code watermark (multipart upload)
encryption_key string необов'язковий Decryption key to decode encrypted payload

Приклад

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

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key

Приклад

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

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
name string так Brand kit name (max 100)
logos array необов'язковий Array of logo definitions
fonts array необов'язковий Array of font names
colors array необов'язковий Array of hex color values
default_config object необов'язковий Default watermark config
is_default boolean необов'язковий Set as default brand kit
brand_kit_id integer необов'язковий Update existing (omit to create new)

Приклад

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
}'

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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
ПараметрТипОбов'язковийОпис
api_key string так Your API key
brand_kit_id integer так Brand kit ID to delete

Приклад

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
}'

Приклад відповіді

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

Коди відповідей

КодОпис
200 SuccessЗапит оброблено успішно.
400 Bad RequestВалідація введення не пройдена.
401 UnauthorizedAPI-ключ відсутній або неправильний.
403 ForbiddenКлюч неактивний або не дозволений.
429 Rate LimitЗабагато запитів.
500 Server ErrorНепередбачена помилка.

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

                

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

Часті запитання

Зображення (JPEG, PNG, GIF, BMP, WebP, TIFF), PDF, відео (MP4, AVI, MOV, MKV, WebM), аудіо (MP3, WAV, FLAC, OGG, AAC), документи (DOCX, XLSX, PPTX), 3D-моделі (OBJ, STL, GLTF, FBX) та електронні книги (EPUB, MOBI).

П'ять типів: текст (налаштовуваний шрифт, розмір, колір, прозорість, обертання, тінь, контур), накладення зображення (логотип з масштабуванням та позиціонуванням), мозаїчний візерунок (повторюваний текст по всьому файлу), QR/штрих-код (машиночитні коди з необов'язковим шифруванням) та аудіо (голосові теги, тони, інтро/аутро, ультразвукові мітки).

Так. Пакетна кінцева точка приймає до 50 файлів за запит. Кожен файл обробляється асинхронно, і ви можете перевірити прогрес за допомогою batch-status.

Так. Кінцева точка detect використовує ШІ для пошуку наявних водяних знаків у зображеннях. Кінцева точка remove намагається видалити водяні знаки за допомогою ШІ. Кінцева точка verify перевіряє, чи вбудований у файл конкретний ідентифікатор відстеження.

Кінцева точка add-code вбудовує QR-код, Code128, Code39, EAN-13, EAN-8 або штрих-код DataMatrix у ваш файл. Корисне навантаження можна додатково зашифрувати. Використовуйте decode-code для розшифрування або read-code для сканування коду із зображення.

Шаблони зберігають конфігурацію водяного знаку (тип, позиція, прозорість, шрифт тощо), щоб ви могли використовувати їх повторно. Створюйте шаблони через template-save та переглядайте їх за допомогою кінцевої точки templates.

Так. Кожен запит, навіть з помилкою, витрачає кредити. Ваші кредити прив'язані до кількості запитів, незалежно від успіху чи невдачі. Якщо помилка явно спричинена проблемою платформи з нашого боку, ми відновимо постраждалі кредити (без грошового повернення).

Зв'яжіться з нами за адресою [email protected]. Ми серйозно ставимося до зворотного зв'язку—якщо ваш звіт про помилку або запит на функцію є обґрунтованим, ми можемо швидко виправити або покращити API та надати вам 50 безкоштовних кредитів на подяку.

Залежить від API і іноді навіть від ендпоінту. Деякі ендпоінти використовують дані із зовнішніх джерел, які можуть мати суворіші обмеження. Ми також застосовуємо ліміти для запобігання зловживанням та підтримання стабільності платформи. Перевірте документацію щодо конкретного ліміту для кожного ендпоінту.

Ми працюємо на кредитній системі. Кредити — це передоплачені, неповоротні одиниці, які ви витрачаєте на API-виклики та інструменти. Кредити витрачаються за принципом FIFO (найстаріші першими) і дійсні протягом 12 місяців з дати покупки. Панель управління показує дату кожної покупки та її закінчення.

Так. Усі придбані кредити (включаючи дробові залишки) дійсні 12 місяців з моменту покупки. Невикористані кредити автоматично закінчуються і назавжди видаляються наприкінці терміну дії. Прострочені кредити не можна відновити або конвертувати в готівку чи іншу цінність. Перехідне правило: кредити, придбані до 22 вер. 2025, вважаються придбаними 22 вер. 2025 і закінчуються 22 вер. 2026 (якщо при покупці не було вказано ранішого терміну).

Так—у межах терміну дії. Невикористані кредити залишаються доступними і переносяться з місяця в місяць, поки не закінчаться через 12 місяців після покупки.

Кредити є неповоротними. Купуйте лише те, що потрібно—ви завжди можете поповнити пізніше. Якщо помилка платформи спричинить невдале списання, ми можемо відновити постраждалі кредити після розслідування. Без грошового повернення.

Ціни встановлені в кредитах, а не в доларах. Кожен ендпоінт має свою вартість—дивіться значок «Кредити / запит» вище. Ви завжди точно знатимете, скільки витрачаєте.
← Назад до API