---
title: "Get background creation progress"
method: GET
path: "/projects/{projectId}/creation-jobs/{id}"
tags: ["Console creations"]
---

# Get background creation progress

`GET /projects/{projectId}/creation-jobs/{id}`

## Request

- Base URL: `https://api.pyai.com`
- URL: `https://api.pyai.com/projects/{projectId}/creation-jobs/{id}`
- Auth: API key in cookie `pyai_session`

Poll queued/running jobs. completed exposes creation_id, available through the project's creations API and My work. Failed jobs preserve their original input. charge is not_started, unconfirmed, or metered; unconfirmed requires checking usage before an explicit retry. A worker interruption never silently repeats a potentially paid inference request.

## Path parameters

- `projectId` string, required
- `id` string, required

## Response `200`

Public creation state, original metadata and charge status.

- CreatorJob
  - `id` string, required
  - `product` 'speak' | 'hear', required
  - `name` string, required
  - `status` 'queued' | 'running' | 'completed' | 'failed', required
  - `stage` 'queued' | 'connecting' | 'generating' | 'transcribing' | 'saving' | 'completed' | 'failed', required
  - `input` CreatorJobInput, required
    - `traceReview` boolean: For hear only: save a real deterministic personal data review to Trace after transcription. Uses workspace transcription credits. No future call settings change.
    - `product` 'speak' | 'hear', required
    - `name` string, required
    - `text` string: Speech script, up to 2,000 Unicode characters. Empty for transcription.
    - `voiceId` string: Required for Speech.
    - `voiceName` string
    - `format` 'mp3' | 'wav' | 'txt', required
    - `language` '' | 'en' | 'es' | 'fr' | 'de' | 'hi' | 'it' | 'pt' | 'nl' | 'zh' | 'yue' | 'ar' | 'id' | 'ko' | 'th' | 'vi' | 'ja' | 'tr' | 'ms' | 'sv' | 'da' | 'fi' | 'pl' | 'cs' | 'fil' | 'fa' | 'el' | 'hu' | 'mk' | 'ro': Spoken language for Transcription; empty detects it.
    - `sourceName` string
  - `error_code` string, nullable, required
  - `charge` 'not_started' | 'unconfirmed' | 'metered', required
  - `created_at` integer, required: Unix milliseconds.
  - `updated_at` integer, required: Unix milliseconds.
  - `creation_id` string, nullable, required

## Other responses

- `401`: Sign in to the console.
- `403`: Project membership or a creation role is required.
- `404`: Creation not found in this project.

## Changes

- **2026-10-20** `271a1539185b`: 1 info
  - added the optional property `input/traceReview` to the response with the `200` status

[Operation history](https://skmtc.dev/pyai/apis/pyai-api/changes/projects/:projectId/creation-jobs/:id/get.md)

---

[API](https://skmtc.dev/pyai/apis/pyai-api.md) · [All operations](https://skmtc.dev/pyai/apis/pyai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pyai/apis/pyai-api/revisions/271a1539185b?raw)
