Score Composition
score_compositionQueue the durable server-side judge — it snapshots the exact authored target, samples eval beats, captures frames asynchronously, and grades editorial/spatial/brand/caption. Then wait_job(kind="verify", id=jobId) for per-criterion scores, weighted composite, worst-first critique, and checkpointId. body.composition is optional (absent ⇒ ACTIVE). Fix the lowest criterion via apply_composition and re-score. Idempotent per immutable snapshot; compose_verify bills only on the guarded success terminal.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Job family, e.g. `verify` | `preview` | `brand_kit_extract`. | |
| jobId | No | Poll GET /v1/jobs/{jobId} / wait_job until terminal. | |
| jobKey | No | Deterministic identity of the work (content hash of every input the result depends on). Re-enqueueing the same key returns the same job while it runs; a failed key revives as a fresh attempt. | |
| status | No | running on a fresh/deduped enqueue; succeeded when an identical request already completed. Cancelled is part of the shared status vocabulary; identical cancelled work revives to running. |