Bỏ qua

API Làm mờ Vùng

Giá cả

25 credits cho mỗi yêu cầu

Chi phí cố định bất kể độ dài video hay số lượng vùng blur.

Tổng quan

API Làm mờ Vùng làm mờ (blur) các vùng chỉ định trong video. Thường dùng để xóa caption cũ sau khi detect.

Domain: api.revidapi.com


Endpoint

POST https://api.revidapi.com/paid/blur-region

Xác thực: Bắt buộc - Header x-api-key


Yêu cầu

Headers

  • x-api-key: Bắt buộc. API key của bạn để xác thực.
  • Content-Type: Bắt buộc. Phải là application/json.

Tham số Body

Tham số Bắt buộc

Parameter Type Required Default Mô tả
video_url string ✅ Yes - URL video cần blur (http/https)
blur_regions array ✅ Yes - Danh sách vùng cần blur [{x, y, w, h}, ...]

Tham số Tùy chọn

Parameter Type Default Mô tả
blur_strength integer 30 Độ mờ (5-50)
expand_pixels integer 10 Mở rộng vùng blur (pixel)
video_size object - {width, height} kích thước video (dùng từ detect result)
webhook_url string - URL nhận kết quả
id string - Mã định danh

Định dạng blur_regions

[{"x": 45, "y": 657, "w": 486, "h": 62}]

Lấy từ: result.caption_area hoặc result.lower_half.caption_area của detect-caption. Có thể nhân w, h (ví dụ 1.3, 1.2) để mở rộng vùng blur.

Hướng dẫn blur_strength

Value Kết quả Khi nào dùng
10-20 Mờ nhẹ Text mỏng, nền đơn giản
30 Mờ vừa ⭐ Mặc định, phù hợp hầu hết
40-50 Mờ mạnh Text dày, nền phức tạp

Hướng dẫn expand_pixels

Value Kết quả Khi nào dùng
0 Không mở rộng Vùng detect chính xác
10 Mở rộng nhẹ ⭐ Mặc định, an toàn
20-30 Mở rộng nhiều Vùng detect có thể lệch

Phản hồi

Phản hồi Ngay lập tức (Task Created)

{
  "task_id": "e0733bdd-aabe-4720-a81b-85af6bfe55d9",
  "status": "pending",
  "message": "Blur task created",
  "type": "blur"
}

Trạng thái Task (GET /paid/get/job/status/{task_id})

✅ Hoàn thành

{
  "task_id": "e0733bdd-aabe-4720-a81b-85af6bfe55d9",
  "type": "blur",
  "status": "completed",
  "progress": 100,
  "message": "Blur applied successfully",
  "result": {
    "video_url": "/output/blurred_xxx.mp4",
    "blur_area": {
      "x": 35,
      "y": 647,
      "w": 506,
      "h": 82
    }
  },
  "created_at": "2025-12-22T11:39:51.694796"
}

⏳ Đang xử lý

{
  "task_id": "e0733bdd-aabe-4720-a81b-85af6bfe55d9",
  "status": "processing",
  "progress": 60,
  "message": "Running FFmpeg (blur region: 506x82 at 35,647)..."
}

❌ Thất bại

{
  "task_id": "e0733bdd-aabe-4720-a81b-85af6bfe55d9",
  "status": "failed",
  "progress": 50,
  "message": "FFmpeg failed: ..."
}

Các Trường Phản hồi

result.video_url

Relative path. Full URL: https://edit.revidapi.com{{ result.video_url }}

result.blur_area

Vùng đã blur (sau khi expand):

Field Type Mô tả
x integer X bắt đầu (đã expand)
y integer Y bắt đầu (đã expand)
w integer Chiều rộng (đã expand)
h integer Chiều cao (đã expand)

Logic Blur

1. Download video
2. Tính vùng blur tổng hợp (từ blur_regions + expand_pixels)
3. FFmpeg gaussian blur vùng đó
4. Overlay lại vào video
5. Giữ nguyên audio gốc

Ví dụ Yêu cầu

Ví dụ (payload đã chạy)

{
  "video_url": "https://edit.revidapi.com/output/video_xxx.mp4",
  "blur_regions": [
    {
      "x": 45,
      "y": 657,
      "w": 486,
      "h": 62
    }
  ],
  "blur_strength": 50,
  "expand_pixels": 10,
  "video_size": {"width": 576, "height": 1024}
}

Ghi chú Sử dụng

  1. POST trả về ngay với task_id (không chờ xử lý)
  2. GET task status để lấy kết quả (poll trong loop)
  3. video_url là URL đầy đủ để tải video đã blur
  4. blur_regions có thể chứa nhiều vùng - sẽ được gộp lại
  5. Audio gốc được giữ nguyên (copy stream)

Workflow

POST /paid/detect-caption
    ↓
Lấy caption_area
    ↓
POST /paid/blur-region (dùng caption_area)
    ↓
GET /paid/get/job/status/{task_id} (loop)
    ↓
Download video đã blur

Tips

  1. Nếu blur không đủ: Tăng blur_strength lên 40-50
  2. Nếu blur quá rộng: Giảm expand_pixels xuống 5
  3. Nếu blur lệch vị trí: Kiểm tra lại caption_area từ detect

Vấn đề Thường gặp

  1. Tọa độ vùng không hợp lệ: Đảm bảo tọa độ nằm trong kích thước video
  2. Blur không thấy: Tăng blur_strength hoặc kiểm tra vùng có đúng không
  3. Nhiều vùng: Tất cả vùng trong mảng blur_regions sẽ được blur

Thực hành Tốt nhất

  1. Dùng webhooks: Luôn dùng webhooks để đáng tin cậy hơn
  2. ID duy nhất: Cung cấp giá trị id duy nhất để theo dõi
  3. Độ chính xác vùng: Dùng caption_area từ detect-caption để định vị chính xác
  4. Expand pixels: Dùng mặc định expand_pixels: 10 để đảm bảo blur hoàn toàn