Retrieve the list of effects

December 6, 2024 (May 12, 2026)

Table of contents

  1. Request Headers
  2. Query Parameters
  3. Responses
  4. Model
  5. Examples
  6. Try It

The returned effect_type field encodes the number of input images the template accepts (as a string):

  • "1" = exactly one image (e.g., face swap, dance effects)
  • "2" = exactly two images (e.g., hug, kiss effects)
  • "3", "4", "5" = multi-input effects (e.g., Family Reunion accepts up to 5 portraits) — pass via frame_1_path..frame_5_path on POST /videos/create. For these templates, the minimum is 2 input images and the maximum is effect_type.

The template_type field distinguishes output kind:

  • 1 = video output
  • 2 = image output (1-second still — the response carries image_id instead of video_id)

The template_model field identifies the underlying engine (v5, v5.5, v5.6, v6, image_v5, image_v6, image_v7, gemini-2.5-flash, gemini-3.0, qwen-image, ""). When you invoke a template, you do not need to (and should not) pass a model parameter — the template’s engine is authoritative.

The qualities field is the closed list of quality options the template accepts. Some templates only allow ["1080p"] or ["360p", "540p", "720p"] — calling with any other value is rejected.

The total credit cost for a template is video_base_cost + fixed_cost.

https://api.useapi.net/v2/pixverse/videos/effects?…

Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
Query Parameters
  • email is optional when only one account configured. However, if you have multiple accounts configured, this parameter becomes required.
Responses
  • 200 OK

    {
        "items": [
            {
                "template_id": 384628677917440,
                "display_name": "Family Reunion",
                "workflow_tag": "meta_nanopro_muti_it2v_260115",
                "display_prompt": "This moment is what home means.",
                "effect_type": "5",
                "template_type": 1,
                "template_model": "v5",
                "template_paid": 1,
                "supported_features": [2],
                "duration": 5,
                "qualities": ["360p", "540p", "720p", "1080p"],
                "score": 8.42,
                "hot_count": 0,
                "created_at": "2026-04-15T07:12:08Z",
                "updated_at": "2026-05-12T00:01:54Z",
                "author_info": {
                    "account_id": 1001075,
                    "username": "",
                    "nickname": "maxcasu",
                    "avatar": "https://media.pixverse.ai/upload%2F…jpg"
                },
                "category_ids": [157, 191],
                "video_base_cost": 20,
                "fixed_cost": 20,
                "example_text": "Upload 5 portrait photos",
                "thumbnail_path": "https://media.pixverse.ai/…jpg",
                "thumbnail_video_path": "https://media.pixverse.ai/…mp4",
                "thumbnail_gif_path": "https://media.pixverse.ai/…webp",
                "app_thumbnail_url": "https://media.pixverse.ai/…jpg",
                "app_thumbnail_video_url": "https://media.pixverse.ai/…mp4",
                "app_thumbnail_gif_url": "https://media.pixverse.ai/…webp",
                "audio_path": "https://media.pixverse.ai/…mp3",
                "marker": ""
            },
            {
                "template_id": 377433499832192,
                "display_name": "Tattoo Removal",
                "workflow_tag": "i2i_image_v5_…",
                "display_prompt": "Remove tattoos cleanly from any photo.",
                "effect_type": "1",
                "template_type": 2,
                "template_model": "image_v5",
                "template_paid": 0,
                "supported_features": [2],
                "duration": 1,
                "qualities": ["1080p"],
                "score": 6.5,
                "hot_count": 0,
                "created_at": "2026-02-20T10:00:00Z",
                "updated_at": "2026-05-12T00:01:54Z",
                "author_info": {
                    "account_id": 1001075,
                    "username": "",
                    "nickname": "pixverse",
                    "avatar": ""
                },
                "category_ids": [169],
                "video_base_cost": 20,
                "fixed_cost": 10,
                "example_text": "Upload a portrait with a visible tattoo",
                "thumbnail_path": "https://media.pixverse.ai/…jpg",
                "thumbnail_video_path": "",
                "thumbnail_gif_path": "",
                "app_thumbnail_url": "https://media.pixverse.ai/…jpg",
                "app_thumbnail_video_url": "",
                "app_thumbnail_gif_url": "",
                "audio_path": "",
                "marker": ""
            }
        ],
        "total": 917,
        "next_offset": 0
    }
    
  • 400 Bad Request

    {
        "error": "<Error message>",
        "code": 400
    }
    
  • 401 Unauthorized

    {
      "error": "Unauthorized",
      "code": 401
    }
    
Model
{   // TypeScript
  items: {
    template_id: number
    display_name: string
    workflow_tag: string
    display_prompt: string
    effect_type: string        // "1" or "2" = exact count required; "3"/"4"/"5" = multi-input (min 2, max effect_type)
    template_type: number      // 1 = video output, 2 = image output (1-second still, returns image_id)
    template_model: string     // engine: v5, v5.5, v5.6, v6, image_v5, image_v6, image_v7, gemini-2.5-flash, gemini-3.0, qwen-image, ""
    template_paid: number      // 0 = free, 1 = paid tier required
    supported_features: number[] | null  // feature flags (pass-through)
    duration: number           // output duration in seconds (1 for image templates; 5–21 for video templates)
    qualities: string[]        // allowed quality values — passing any other rejects with 400
    score: number              // popularity score
    hot_count: number          // running engagement counter
    created_at: string         // ISO timestamp the template was published
    updated_at: string         // ISO timestamp of last metadata update
    author_info: {             // template author
      account_id: number
      username: string
      nickname: string
      avatar: string           // full URL or ""
    }
    category_ids: number[]     // sub-category IDs this template belongs to
    video_base_cost: number    // base credit cost
    fixed_cost: number         // template-specific extra cost (template_paid templates typically charge fixed_cost)
    example_text: string       // usage hint, e.g. "Upload 5 portrait photos"
    thumbnail_path: string     // thumbnail URL (alias for app_thumbnail_url)
    thumbnail_video_path: string
    thumbnail_gif_path: string
    app_thumbnail_url: string  // canonical thumbnail URL
    app_thumbnail_video_url: string
    app_thumbnail_gif_url: string
    audio_path: string         // template's built-in audio track (full URL); empty when none
    marker: string             // "new", "hot", "default", or ""
  }[]
  total: number
  next_offset: number
}
Examples
  • curl "https://api.useapi.net/v2/pixverse/videos/effects?email=email" \
       -H "Accept: application/json" \
       -H "Authorization: Bearer …" 
    
  • const token = "API token";
    const email= "Previously configured account email"; 
    const apiUrl = `https://api.useapi.net/v2/pixverse/videos/effects?email=${email}`; 
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    email= "Previously configured account email"
    apiUrl = f"https://api.useapi.net/v2/pixverse/videos/effects?email={email}"
    headers = {
        "Content-Type": "application/json", 
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It