Skip to content

Pose Detection

Detect human poses in a specific video frame and return the pose data and detection IDs for all people in the scene. The results can be used as a prerequisite step for motion detection to precisely target specific individuals.

Typical Application Scenarios

  • Multi-person tracking: Locate a target person's person_id first, then pass it to the motion detection API for accurate capture.
  • Pre-capture quality check: Quickly verify pose data availability for a specific frame before running a full motion capture.

API Reference used on this page POST /videos/pose_detections

Basic Examples

bash
curl -X POST 'https://api.v2fun.ai/api/v1/videos/pose_detections' \
  -H 'Authorization: Bearer $V2FUN_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
      "input_video": "videos/example.mp4",
      "time_seconds": 1.5
    }'
javascript
const response = await fetch('https://api.v2fun.ai/api/v1/videos/pose_detections', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $V2FUN_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "input_video": "videos/example.mp4",
    "time_seconds": 1.5
  }),
});
const data = await response.json();
python
import requests

resp = requests.post(
    'https://api.v2fun.ai/api/v1/videos/pose_detections',
    headers={
        'Authorization': 'Bearer $V2FUN_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        "input_video": "videos/example.mp4",
        "time_seconds": 1.5
    },
)
print(resp.json())
java
import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"input_video\":\"videos/example.mp4\",\"time_seconds\":1.5}";
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.v2fun.ai/api/v1/videos/pose_detections"))
    .header("Authorization", "Bearer $V2FUN_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

Core Use Cases

Video Frame Pose Detection

Specify a video file and a timestamp (in seconds). The system automatically detects human poses in that frame and returns a list of detected person IDs for use in subsequent motion detection tasks.

bash
curl -X POST 'https://api.v2fun.ai/api/v1/videos/pose_detections' \
  -H 'Authorization: Bearer $V2FUN_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
      "input_video": "videos/example.mp4",
      "time_seconds": 0
    }'
javascript
const response = await fetch('https://api.v2fun.ai/api/v1/videos/pose_detections', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $V2FUN_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "input_video": "videos/example.mp4",
    "time_seconds": 0
  }),
});
const data = await response.json();
python
import requests

resp = requests.post(
    'https://api.v2fun.ai/api/v1/videos/pose_detections',
    headers={
        'Authorization': 'Bearer $V2FUN_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        "input_video": "videos/example.mp4",
        "time_seconds": 0
    },
)
print(resp.json())
java
import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"input_video\":\"videos/example.mp4\",\"time_seconds\":0}";
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.v2fun.ai/api/v1/videos/pose_detections"))
    .header("Authorization", "Bearer $V2FUN_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Input Video
Output
OutputKeypoint Skeleton