---
title: "Accept a moderated task; planning runs in background"
method: POST
path: "/api/v1/jobs"
---

# Accept a moderated task; planning runs in background

`POST /api/v1/jobs`

## Request

- Base URL: `https://spritefuse.com`
- URL: `https://spritefuse.com/api/v1/jobs`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- JobInput
  - `operation` 'character.generate' | 'animation.generate' | 'sprite.revise', required
  - `prompt` string, required
  - `max_credits` integer, required
  - `project_id` string, uuid
  - `source_job_id` string, uuid
  - `frame_count` integer
  - `selected_frame_index` integer
  - `reference_image_id` string, uuid
  - `rpg_mode` 'walk-4' | 'walk-8' | 'attack-8' | 'battle'

## Response `202`

Accepted task or identical replay

- Job
  - `job_id` string, uuid, required
  - `operation` string, required
  - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'canceled', required
  - `phase` string, required
  - `max_credits` integer, required
  - `charged_credits` integer, required
  - `reserved_credits` integer
  - `created_at` string, date-time
  - `result` object, nullable
  - `error` object, nullable
  - `replay` boolean

## Other responses

- `400`: Invalid request
- `401`: Invalid, expired or revoked credential
- `402`: Credit/budget limit
- `403`: Scope or owner unavailable
- `404`: Owned resource not found
- `409`: Idempotency, timing or state conflict
- `422`: Invalid inputs or content safety rejection
- `429`: Rate limit; Retry-After is provided
- `503`: Temporary dependency failure

---

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