Text to Speech

Voice Cloning

Lip Sync Video

Other

Query Task

Query lip-sync task processing progress and results by task ID

Query Lip Sync Task API

Endpoint

GET /api/open/lip-sync/query?id=YOUR_TASK_ID

// Or use POST request
POST /api/open/lip-sync/query

Request Headers

Authorization: Bearer YOUR_API_TOKEN  // API key

Request Parameters (POST Method)

{
  "id": string  // Required, task ID returned at task creation
}

Response Data

// Success response - 200
{
  "success": true,
  "data": {
    "id": string,               // Task ID
    "status": string,           // Task status: "pending" | "processing" | "completed" | "failed"
    "progress": number,         // Progress percentage (0-100)
    "result_url": string,       // Result video URL (returned when completed)
    "error_message": string,    // Error message (returned when failed)
    "created_at": string,       // Created time
    "updated_at": string,       // Updated time
    "completed_at": string,     // Completed time
    "credits_used": number      // Credits consumed
  }
}

// Error response
{
  "error": string               // Error message
}

Polling Suggestion

It is recommended to query the task status every 3-5 seconds until status is "completed" or "failed"

CURL Example

curl -X GET "https://fishaudio.net/api/open/lip-sync/query?id=YOUR_TASK_ID" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Online Debug

Polling Suggestion

It is recommended to query the task status every 3-5 seconds until status is "completed" or "failed"

Status Code Description

Status Code Description:
200 OK                  - Request successful
400 Bad Request         - Invalid request parameters
401 Unauthorized        - Invalid API Token
403 Forbidden          - Access forbidden
404 Not Found          - Resource not found
413 Payload Too Large  - Upload file too large
429 Too Many Requests  - Rate limit exceeded/Insufficient credits
500 Server Error       - Internal server error

Error Response Format:
{
  "error": string,      // Error message
  "details": string,    // Detailed error message (optional)
  "code": string       // Error code (optional)
}