UGCLabUGCLab

Actors

List available AI actors for video generation

List available actors for video generation.

Base URL

https://api.ugclab.app/api/v1

UGCL 2.0 Actors

Actors for the UGCL 2.0 workflow with high customization capabilities.

List Actors

GET /actors

Query Parameters

ParameterTypeDefaultDescription
genderstring-Filter by gender: male, female
agestring-Filter by age group
isProboolean-Filter by pro status
limitnumber50Number of items per page (max 100)
cursorstring-Cursor for pagination

Response

{
  "data": {
    "items": [
      {
        "id": "clactor123...",
        "name": "Sarah",
        "username": "sarah_pro",
        "videoPreviewUrl": "https://...",
        "age": "25-34",
        "color": "#FF5733",
        "gender": "female",
        "tags": ["professional", "friendly"],
        "isPro": true
      }
    ],
    "pagination": {
      "hasMore": true,
      "nextCursor": "clactor456...",
      "limit": 50
    }
  },
  "meta": {
    "requestId": "req_abc123def456",
    "timestamp": "2025-01-15T10:30:00.000Z"
  }
}

Response Fields

FieldTypeDescription
idstringUnique actor ID (use in actorIds for UGCL 2.0)
namestringActor display name
usernamestringActor username
videoPreviewUrlstringURL to actor preview video
agestringAge group
colorstringTheme color (hex)
genderstringGender
tagsstring[]Actor tags/categories
isProbooleanWhether this is a pro-tier actor

UGCL 1.0 Actors

Actors for the UGCL 1.0 workflow with extended duration support.

List UGCLab Actors

GET /ugclab-actors

Query Parameters

ParameterTypeDefaultDescription
genderstring-Filter by gender: male, female
limitnumber50Number of items per page (max 100)
cursorstring-Cursor for pagination

Response

{
  "data": {
    "items": [
      {
        "id": "clugcactor123...",
        "name": "Emma",
        "gender": "female",
        "imageUrl": "https://..."
      }
    ],
    "pagination": {
      "hasMore": false,
      "nextCursor": null,
      "limit": 50
    }
  },
  "meta": {
    "requestId": "req_abc123def456",
    "timestamp": "2025-01-15T10:30:00.000Z"
  }
}

Response Fields

FieldTypeDescription
idstringUnique actor ID (use in ugclabActorIds for UGCL 1.0)
namestringActor display name
genderstringGender
imageUrlstringActor reference image URL

Examples

# List UGCL 2.0 Actors
curl -X GET "https://api.ugclab.app/api/v1/actors?gender=female&limit=20" \
  -H "Authorization: Bearer ugc_your_api_key"

# List UGCL 1.0 Actors
curl -X GET "https://api.ugclab.app/api/v1/ugclab-actors?limit=20" \
  -H "Authorization: Bearer ugc_your_api_key"
// Get UGCL 2.0 actors
const actorsResponse = await fetch(
  'https://api.ugclab.app/api/v1/actors?gender=female',
  {
    headers: { 'Authorization': 'Bearer ugc_your_api_key' },
  }
);
const actors = await actorsResponse.json();

// Get UGCL 1.0 actors
const ugclabActorsResponse = await fetch(
  'https://api.ugclab.app/api/v1/ugclab-actors',
  {
    headers: { 'Authorization': 'Bearer ugc_your_api_key' },
  }
);
const ugclabActors = await ugclabActorsResponse.json();

console.log('UGCL 2.0 Actors:', actors.data.items.length);
console.log('UGCL 1.0 Actors:', ugclabActors.data.items.length);
import requests

headers = {'Authorization': 'Bearer ugc_your_api_key'}

# Get UGCL 2.0 actors
actors = requests.get(
    'https://api.ugclab.app/api/v1/actors',
    headers=headers,
    params={'gender': 'female'}
).json()

# Get UGCL 1.0 actors
ugclab_actors = requests.get(
    'https://api.ugclab.app/api/v1/ugclab-actors',
    headers=headers
).json()

print(f"UGCL 2.0 Actors: {len(actors['data']['items'])}")
print(f"UGCL 1.0 Actors: {len(ugclab_actors['data']['items'])}")

Which Actors to Use?

WorkflowEndpointActor ID Field
UGCL 2.0GET /actorsUse id in actorIds
UGCL 1.0GET /ugclab-actorsUse id in ugclabActorIds

Error Codes

CodeHTTP StatusDescription
RATE_LIMIT_EXCEEDED429Too many requests
INTERNAL_ERROR500Internal server error

See Authentication for authentication-related errors.

On this page