---
title: "GET /v2/generate/{id}"
method: GET
path: "/v2/generate/{id}"
tags: ["Generate"]
---

# GET /v2/generate/{id}

`GET /v2/generate/{id}`

## Path parameters

- `id` string, required

## Query parameters

- `include` 'progress'
- `wait` boolean
- `timeout` number

## Response `200`

Job status retrieved successfully

- Generation
  - `id` string, required — A unique identifier for the generation.
  - `createdAt` string, date-time, required — The date and time the generation was created.
  - `status` 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'REJECTED', required — The status of the generation.
  - `model` string, required — The name of the model used for generation.
  - `projectId` string, nullable — The id of the project this generation is attached to, or null when it belongs to no project. Set via the `projectId` field on the create request.
  - `input` object[], required — An array of input objects containing type and URL.
    - `type` string
    - `url` string
  - `segments` object[], required — The segments definition for the generation.
  - `webhookUrl` string, nullable — The URL to the webhook endpoint.
  - `options` object — Options for the generation.
  - `outputUrl` string, nullable — The URL of the output media.
  - `outputDuration` number, nullable — The duration of the output media.
  - `segmentOutputUrl` string, nullable — The URL of the segment output media.
  - `outputFileName` string, nullable — The sanitized filename applied to the output media. Non-alphanumeric characters (except dashes and underscores) are stripped and spaces become underscores, so the value here is the canonical name used for the downloaded file - it may differ from what was submitted. Null when no name was provided.
  - `synthesizedAudioUrl` string — The URL of the audio synthesized from a text input. Only present for generations created with a TTS text input; reuse it as an audio input to keep the same take across generations.
  - `error` string — The error message if the generation failed.
  - `errorCode` string, nullable — Stable machine-readable error code if the generation failed. The full catalog with messages and suggested fixes is served at GET /v2/errors.
  - `progress_percent` number — The progress percentage of the generation (0-100). Only included when include=progress.

## Other responses

- `400` — Bad Request - the id is not a valid generation id (errorCode invalid_generation_id) or is an external provider id (errorCode unsupported_generation_id_format)
- `401` — Unauthorized - Invalid or missing authentication
- `404` — Job not found (errorCode generation_not_found)
- `500` — Internal Server Error (errorCode internal_error)

## Changes

> 6 revisions in range; 2 could not be searched.

- **2026-07-26** `281780d8e3a6` — 4 info
  - added the optional property `upstreamOperation` to the response with the `400` status
  - added the optional property `upstreamOperation` to the response with the `401` status
  - added the optional property `upstreamOperation` to the response with the `404` status
  - added the optional property `upstreamOperation` to the response with the `500` status

[Change history](https://skmtc.dev/sync/apis/sync-api-v2/changes/v2/generate/:id/get.md)

---

[API](https://skmtc.dev/sync/apis/sync-api-v2.md) · [All operations](https://skmtc.dev/sync/apis/sync-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sync/sync-api-v2/revisions/595901a0ee97/schema)
