---
title: "Get a reaction clip"
method: GET
path: "/ugc/reactions/{id}"
tags: ["UGC"]
---

# Get a reaction clip

`GET /ugc/reactions/{id}`

Returns a reaction you generated. Poll every 10-15 seconds after `POST /ugc/reactions` until `status` is `completed` (then use `videoUrl` or the `id` as `reactionId` in `POST /ugc/videos`) or `failed` (credits are refunded automatically).

## Path parameters

- `id` string, uuid, required — Reaction ID from `POST /ugc/reactions`.

## Response `200`

OK

- object
  - `id` string, uuid, required
  - `status` 'pending' | 'processing' | 'completed' | 'failed', required
  - `name` string, required
  - `durationSeconds` number, required
  - `videoUrl` string, nullable, required — The finished clip URL when `status` is `completed`.
  - `errorMessage` string, nullable, required — Why generation failed, when `status` is `failed`.

## Other responses

- `401` — 401
- `402` — 402
- `403` — 403

---

[API](https://skmtc.net/aituber/apis/aituber-api.md) · [All operations](https://skmtc.net/aituber/apis/aituber-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aituber/aituber-api/revisions/35448566f143/schema)
