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

# API Changelog

> Version-by-version list of API changes and migration guides

Each entry below documents a dated API version. Use the `RawUGC-Version` header or pin your API key to select a specific version. See [Versioning](/versioning) for details.

***

## `2026-03-06`

Semantic resource IDs, unified media model, and REST route cleanup.

### What's new

* **Semantic resource IDs** -- all resources now use prefixed IDs: `vid_xxx` for videos, `img_xxx` for images, `mus_xxx` for music. These replace the old `taskId` and `id` fields.
* **Consistent response fields** -- generation endpoints return `videoId`, `imageId`, or `musicId`. Status endpoints return `url` (was `resultUrl`).
* **`versions` array on `GET /videos/{videoId}`** -- edit history showing all versions for a video (original + captions/overlays). Each entry includes `videoId`, `version`, `url`, `operation`, and `createdAt`.
* **`POST /videos/generate`** is the canonical video generation endpoint.
* **`/videos/{videoId}/captions`** and **`/videos/{videoId}/overlay`** -- editing endpoints return an `EditResponse` with `videoId`, `url`, `version`, `operation`, `creditsUsed`.
* **`RawUGC-Version` response header** on all API responses.

### Breaking changes from `2025-11-10`

| Before                       | After                             |
| ---------------------------- | --------------------------------- |
| `taskId` in responses        | `videoId` / `imageId` / `musicId` |
| `id` + `taskId` on videos    | `videoId` only                    |
| `resultUrl`                  | `url`                             |
| `imageUrl` (music album art) | `albumArtUrl`                     |
| `GET /tasks/{id}`            | Removed -- use typed endpoints    |
| `GET /images/{taskId}`       | `GET /images/{imageId}`           |
| `GET /music/{taskId}`        | `GET /music/{musicId}`            |

### How to migrate

<Tip>
  Set `RawUGC-Version: 2026-03-06` in your request headers to opt in. Legacy IDs (raw database IDs and provider task IDs) are still accepted as URL parameters for backward compatibility.
</Tip>

```bash theme={null}
# Generate a video
curl -X POST https://rawugc.com/api/v1/videos/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "RawUGC-Version: 2026-03-06" \
  -H "Content-Type: application/json" \
  -d '{"model": "sora-2-text-to-video", "prompt": "A serene beach"}'

# Response: { "videoId": "vid_xxx", ... }

# Poll status using the videoId
curl https://rawugc.com/api/v1/videos/vid_xxx \
  -H "Authorization: Bearer YOUR_API_KEY"
```

***

## `2025-11-10`

Initial public API version.

### What's included

* **Video generation** -- Sora 2 (text-to-video, image-to-video), Kling 2.6 Motion Control, Veo 3 / Veo 3 Fast
* **Image generation** -- Nano Banana models (text-to-image, image editing)
* **Music generation** -- Suno models (V3.5 through V5)
* **Social media scheduling** -- TikTok, Instagram, YouTube post scheduling
* **Content management** -- Personas, products, styles, messaging templates
* **Viral library** -- Search and analyze TikTok videos with AI-powered insights
* **Research tools** -- TikTok scraping, video analysis, content plans

This is the baseline version -- no migration needed.
