---
title: "Create a new world generation job"
method: POST
path: "/v1/worlds"
tags: ["worlds"]
---

# Create a new world generation job

`POST /v1/worlds`

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `input` union, required
    - object
      - `type` string, required
      - `file_id` string, required
      - `is_pano` boolean
    - object
      - `type` string, required
      - `image_url` string, uri, required
      - `is_pano` boolean
    - object
      - `type` string, required
      - `image_base64` string, required
      - `is_pano` boolean
    - object
      - `type` string, required
      - `prompt` string, required
    - object
      - `type` string, required
      - `panorama_id` string, required
    - object
      - `type` string, required
      - `panos` union[]
        - union
          - object
            - `type` string, required
            - `file_id` string, required
          - object
            - `type` string, required
            - `image_url` string, uri, required
          - object
            - `type` string, required
            - `image_base64` string, required
      - `video` union
        - object
          - `type` string, required
          - `file_id` string, required
        - object
          - `type` string, required
          - `video_url` string, required
      - `panos_zip` union
        - object
          - `type` string, required
          - `file_id` string, required
        - object
          - `type` string, required
          - `zip_url` string, uri, required
      - `cameras` union
        - object
          - `format` string, required
          - `matrices` array[], required
            - array[]
              - …
        - object
          - `format` string, required
          - `poses` array[], required
            - unknown[]
              - …
  - `model` string
  - `title` string
  - `output_format` 'spz' | 'sog'
  - `validation` object
    - `skip` boolean
    - `error_on_fail` boolean
  - `visibility` object
    - `is_public` boolean
    - `is_listed` boolean
  - `webhook` object
    - `url` string, uri, required

## Response `202`

Job accepted and queued for processing

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `402` — Insufficient credits
- `409` — Idempotency key conflict
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/spaitial/apis/spaitial-developer-api.md) · [All operations](https://skmtc.net/spaitial/apis/spaitial-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spaitial/spaitial-developer-api/revisions/f8a73c25c812/schema)
