> ## Documentation Index
> Fetch the complete documentation index at: https://tryunsora.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List clipping jobs

> All AI clipping jobs for the authenticated user.

**`GET /clippings/all`**

## Response

```json theme={null}
{
  "success": true,
  "data": [
    {
      "id": "clip_job_123",
      "status": "COMPLETED",
      "videoUrl": "https://example.com/long-form.mp4",
      "error": null,
      "createdAt": "2026-06-02T12:00:00.000Z",
      "updatedAt": "2026-06-02T12:05:00.000Z",
      "clips": [
        {
          "id": "clip_1",
          "order": 0,
          "outputAsset": { "url": "https://files.tryunsora.com/....mp4" }
        }
      ]
    }
  ]
}
```

## Example

```bash theme={null}
curl "https://mvp.tryunsora.com/api/v1/clippings/all" \
  -H "Authorization: Bearer uns_live_YOUR_API_KEY"
```


## OpenAPI

````yaml GET /clippings/all
openapi: 3.1.0
info:
  title: Unsora API
  version: 1.2.0
  description: >-
    Public API for Unsora integrations. Authenticate with Clerk JWT or
    uns_live_* API key. API keys are rate-limited to 60 requests/minute and
    support idempotency keys. Async jobs complete via polling GET
    /image/status/{id}.
servers:
  - url: https://mvp.tryunsora.com/api/v1
    description: Versioned API (recommended)
security: []
tags:
  - name: Clippings
  - name: Connect
  - name: Image Generations
  - name: Music Generations
  - name: Influencer Studio
  - name: Posts
  - name: Thumbnails
  - name: User
  - name: Video Generations
paths:
  /clippings/all:
    get:
      tags:
        - Clippings
      summary: List clipping jobs
      responses:
        '200':
          description: List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClippingListResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    ClippingListResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/ClippingJob'
      required:
        - success
        - data
    ClippingJob:
      type: object
      additionalProperties: true
      properties:
        id:
          type: string
        status:
          type: string
          enum:
            - QUEUED
            - PROCESSING
            - COMPLETED
            - FAILED
        videoUrl:
          type: string
        error:
          anyOf:
            - type: string
            - type: 'null'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        clips:
          type: array
          items:
            $ref: '#/components/schemas/ClippingClip'
        config:
          $ref: '#/components/schemas/ClippingConfig'
        creditsUsed:
          type: integer
      required:
        - id
        - status
    ClippingClip:
      type: object
      additionalProperties: true
      properties:
        id:
          type: string
        order:
          type: integer
          description: Clip index, ranked by virality (0 = highest).
        title:
          type: string
          description: AI-generated clip title.
        startTime:
          type: number
          description: Start offset in the source video, seconds.
        endTime:
          type: number
          description: End offset in the source video, seconds.
        duration:
          type: number
          description: Clip length in seconds.
        status:
          type: string
        outputAsset:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Rendered clip video. Contains the downloadable url once the job
            completes.
        thumbnailAsset:
          type: object
          nullable: true
          additionalProperties: true
          description: Clip thumbnail image.
        metadata:
          type: object
          additionalProperties: true
          description: >-
            Extra AI output: tags, desc (suggested description), score
            (virality).
    ClippingConfig:
      type: object
      description: >-
        Job settings echoed back in resolved form: targetDuration as DURATION_*,
        ratio as RATIO_* (null when keeping the original ratio), captionStyle as
        the underlying template ID.
      properties:
        sourceLang:
          type: string
          nullable: true
        targetLang:
          type: string
          nullable: true
        targetDuration:
          type: string
          enum:
            - DURATION_0_30
            - DURATION_0_90
            - DURATION_30_60
            - DURATION_60_90
            - DURATION_90_180
            - DURATION_180_300
        query:
          type: string
          nullable: true
          description: >-
            Find Moments query the job was created with; null for regular
            viral-clip jobs.
        limit:
          type: integer
          nullable: true
        ratio:
          type: string
          nullable: true
          enum:
            - RATIO_9_16
            - RATIO_1_1
            - RATIO_4_5
            - RATIO_16_9
            - null
        enableCaption:
          type: boolean
        captionStyle:
          type: string
          nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Clerk session JWT or Unsora API key (uns_live_*)

````