PiAPI
HomeWorkspace
HomeWorkspace
Join Discord
  1. Tools
  • Get Started
    • Overview
    • Quickstart
    • Make Instruction: How to Use PiAPI to Build a Workflow on Make?
  • Endpoints
    • Seedance
      • Less-Restriction Models Guide
      • Private Asset Library
      • Seedance 2.5
      • Seedance 2
      • Video Watermark Remover
      • Get task
    • Seedream
      • Seedream 5
      • Get Task
    • Byteaudio
      • Seed-audio
      • Get Task
    • Kling
      • Lipsync With PiAPI Kling API Examples
      • Motion Brush With PiAPI Kling API Example
      • Kling Elements Video Generation API
      • Kling Effects Video Generation
      • Cancel Task
        • Cancel Task
        • Cancel Tasks
      • Get Task
      • Create Task
      • Kling Virtual Try-On
      • Kling Effects
      • Kling Sound
      • Kling Avatar
      • Kling Motion Control
      • Kling Turbo
      • Kling 3.0
    • Kling omni
      • Kling o1
      • Kling 3.0 omni
      • Get Task
    • Minimax
      • Generate Video
      • MiniMax Speech
      • MiniMax Image
      • Get Task
    • Sora2
      • Sora2-preview Text to Video
      • Sora2 Text to Video
      • Sora2-Pro Text to Video
      • Sora2 Remove Watermark
      • Get task
    • Tools
      • File Upload API
      • Remove Background API
        POST
      • Remove Background-Get Task
        GET
      • Segment With Prompt API
        POST
      • Segment With Prompt API-Get Task
        GET
      • Image Upscale(Super Resolution) API
        POST
      • Image Upscale-Get Task
        GET
      • Video Upscale
        POST
      • Video Upscale-Get Task
        GET
      • Video Remove Background
        POST
      • Video Remove Background-Get task
        GET
      • Video Remove Subtitle
        POST
      • Video Remove Subtitle-Get task
        GET
      • Skin Tokens
        POST
      • Skin Tokens-Get task
        GET
    • Gemini
      • Gemini-2.5-flash-image
      • Nano Banana Pro
      • Nano Banana 2
      • Get task
    • GPT image
      • GPT-image API
    • LLM
      • How To Avoid Timeouts in Completion API
      • LLM API | Basic Completions
    • Omni Human
      • OmniHuman 1.5
      • Get task
    • Flux
      • Flux with LoRA and Controlnet
      • Available LoRA and Controlnet
      • Flux API with Redux Variation, Fill, Inpaint and Outpaint
      • Create Task
        • Text to Image
        • Image to Image
        • Kontext
      • Get task
    • Qwen Image
      • Text to Image
      • Image Edit
      • Get task
    • Z-Image
      • Text to Image
      • Get task
    • Faceswap
      • Multi Faceswap
      • Image Faceswap
      • Video Faceswap
      • Get Task
    • WanX
      • Generate WanX Task with LoRA Using PiAPI
      • Available LoRA Types for Wanx
      • Use Cases for Wanx LoRA
      • Use Cases for Wanx Control Camera
      • Create Task
      • Get Task
    • Wan
      • Wan2.6 Text to Video
      • Wan2.6 Image to Video
      • Get task
    • Hailuo
      • Generate Video
      • Get Task
    • Veo3
      • Veo3 Text to Video
      • Veo3 Image to Video
      • Veo3.1 Text to Video
      • Veo3.1 Image to Video
      • Get task
    • Skyreels
      • Create Task
      • Get Task
    • Framepack
      • Create Task
      • Get Task
    • Hunyuan Video
      • How to Make a Hunyuan API Call
      • Available Hunyuan Lora models
      • Get Task
      • Generate Video
    • Luma Dream Machine
      • Create Task
      • Get Task
    • Suno(service stopped)
      • Music(service stopped)
      • Lyrics(service stopped)
      • Get task
    • Song(Udio)
      • Song API Task Creation Examples
      • [Udio] Song Extend
      • Get Task
      • Create Task
      • [Udio] Generate Lyrics
    • Mmaudio
      • Get Task
      • Generate Audio
    • DiffRhythm
      • Generate Audio
      • Get Task
    • Ace Step
      • Create Task
        • Text to Audio
        • Audio to Audio
        • Audio Edit
        • Audio Extend
      • Get Task
    • TTS
      • Zeroshot Text-to-Speech F5-TTS
      • Get Task
    • Trellis
      • Trellis Create Task
      • Trellis2 Create Task
      • Get Task
    • Meshy
      • Meshy Create Task
      • Get Task
    • Pixal3D
      • Pixal3D Create Task
      • Get Task
    • Joycaption
      • Image Caption
      • Get Task
    • Midjourney
      • PiAPI Penalties on Midjourney Usage
      • Detailed Explaination on Midjourney Task Result
      • Midjourney V7 API Instructions
      • Create Task
        • Imagine
        • Upscale
        • Variation
        • Reroll
        • Describe
        • Seed
        • Blend
        • Inpaint
        • Outpaint
        • Pan
      • Cancel Task
        • Cancel Task
        • Cancel Tasks
      • Get Task
    • AI Hug
      • Get Task
      • Create Task
    • PiAPI Account Management
      • PiAPI Account Info
      • Task List Info
      • User Task History
  • Resources
    • Change Log
    • Output Storage
    • Unified API Schema
    • Webhook
    • Bulk Generation Service
    • Billings
    • PiAPI MCP Server
    • Workspace Manual
      • Host-your-account (HYA) | Back-up Account
      • Host-your-account (HYA) | Debug Checklist
      • Host-your-account (HYA) | Connected Account Status
    • Announcements
      • PiAPI 2025 January 1st Pricing Update
      • The discontinued support for midjourney
      • Sunsetting Suno
  • Schemas
    • Schemas
      • motion brush
      • Create Task
      • camera control
      • Cancel Params
      • Float2 Point
      • Control Points
      • txt2video-1.3b
      • txt2video-14b
      • txt2video-14b-lora
      • img2video-14b
      • img2video-14b-lora
      • img2video-14b-keyframe
      • img2video-14b-control-camera
      • wan22-txt2video-14b
      • wan22-img2video-14b
      • hunyuan-txt2video-lora
      • Trellis API/text-to-3D
      • Trellis API/image-to-3D
      • Trellis2 API/image-to-3D
      • Kling omni multi shot
      • VideoGenerationRequest
      • TaskRequest
      • TaskConfig
      • TaskInput
      • TaskResponse
      • ErrorResponse
    • Response
      • Unified-Task-Response
    • RequestBodies
      • Unified-Task-Request-Body
    • config
    • control_net_setting
    • lora_setting
    • VideoGenerationResponse
    • Pixal3D API/image-to-3D
  1. Tools

Video Remove Subtitle

POST
https://api.piapi.ai/api/v1/task

Overview#

Remove subtitles and other text burned into video frames, and reconstruct the background with Qubico/video-toolkit and task_type: remove-subtitle. This edits visible pixels; it does not remove or edit a separate subtitle track.
Automatic: omit input.region or set it to null to detect text throughout the frame. Other visible text may also be removed.
Region: provide one fixed rectangle to remove text only within that area throughout the video. Use this to preserve text elsewhere in the frame.

Pricing#

ModePrice (USD)Billing unit
Automatic removal$0.006Per source-video second, rounded up
Region removal$0.006Per source-video second, rounded up
For example, 4 seconds costs $0.024, 4.02 seconds costs $0.030, and 60 seconds costs $0.360. There is no five-second minimum charge. Duration is measured from the source video, not the processed output. Credits are reserved before processing, consumed on success, and released on failure. Each submitted task is billed separately.

Notes#

video must be a publicly downloadable HTTP(S) URL on port 80 or 443. Base64, direct file uploads, login-protected links, and links requiring custom request headers are not supported.
Input: one regular MP4 with one video track, 1–600 seconds, at most 60 MiB (62,914,560 bytes). Export fragmented MP4 or videos with rotation metadata as a regular, correctly oriented MP4 first.
region uses original-video pixels, with (0, 0) at the top left. x and y must be nonnegative integers; width and height must be positive integers. The whole rectangle must fit inside the frame. Convert coordinates from a scaled preview back to the original dimensions.
An omitted or null region selects automatic removal. An empty, incomplete, fractional, or out-of-bounds region is rejected; it never switches silently to automatic removal.
Invalid input returns HTTP 400 without consuming credits. Examples include region requires integer x, y, width and height and region exceeds the video dimensions.
input accepts only video and optional region. Duration and dimensions are measured automatically; do not send duration, resolution, prompt, or other processing options.
Only one fixed rectangle is supported. Multiple regions, per-segment regions, and moving masks are not supported.
Output retains video dimensions and audio content, but video and audio may be re-encoded. Complex backgrounds can show fill artifacts; removal quality for moving or full-frame translucent watermarks is not guaranteed.
Cancellation is available only before processing has been submitted. Once submitted, the task cannot be canceled. A processing timeout is reported as a failed task and releases reserved credits.

Request

Header Params

Body Params application/jsonRequired

Examples
Replace the placeholder URL with your MP4 URL.
{
  "model": "Qubico/video-toolkit",
  "task_type": "remove-subtitle",
  "input": {
    "video": "https://example.com/input.mp4"
  }
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://api.piapi.ai/api/v1/task' \
--header 'x-api-key;' \
--header 'Content-Type: application/json' \
--data '{
  "model": "Qubico/video-toolkit",
  "task_type": "remove-subtitle",
  "input": {
    "video": "https://example.com/input.mp4"
  }
}'

Responses

🟢200Success
application/json
Task accepted; inspect data.status and poll until completion.
Bodyapplication/json

Examples
Illustrative 4-second source video. Task IDs and URLs are placeholders. The region example assumes a 1920 x 1080 source.
{
  "code": 200,
  "data": {
    "task_id": "00000000-0000-4000-8000-000000000001",
    "model": "Qubico/video-toolkit",
    "task_type": "remove-subtitle",
    "status": "pending",
    "config": {
      "service_mode": "",
      "webhook_config": {
        "endpoint": "",
        "secret": ""
      }
    },
    "input": {
      "video": "https://example.com/input.mp4"
    },
    "output": null,
    "meta": {
      "created_at": "2026-10-16T04:00:00Z",
      "started_at": "0001-01-01T00:00:00Z",
      "ended_at": "0001-01-01T00:00:00Z",
      "usage": {
        "type": "point",
        "frozen": 240000,
        "consume": 0
      },
      "is_using_private_pool": false
    },
    "detail": null,
    "logs": [],
    "error": {
      "code": 0,
      "message": "",
      "detail": null
    }
  },
  "message": "success"
}
Modified at 2026-10-16 07:34:56
Previous
Video Remove Background-Get task
Next
Video Remove Subtitle-Get task