Operation

Generate Cannon 3D Location

Generate Cannon Studio 3D location/world artifacts from hosted location reference images.

Operation: three_d.location.generate
Submit via POST /api/v1/requests
Credits: dynamic
Cannon 3D Location

Request fields

namedescriptionsource_image_urlsangle_contextqualitylocation_iduniverse_idzone_idworkspace_idproject_id

Example request

{
  "operation": "three_d.location.generate",
  "input": {
    "name": "Neon street market",
    "description": "A rainy night market with layered signage, food stalls, and wet asphalt.",
    "source_image_urls": [
      "https://example.com/front.jpg",
      "https://example.com/right.jpg",
      "https://example.com/back.jpg",
      "https://example.com/left.jpg"
    ],
    "angle_context": [
      {
        "image_url": "https://example.com/front.jpg",
        "label": "Front",
        "azimuth": 0
      },
      {
        "image_url": "https://example.com/right.jpg",
        "label": "Right",
        "azimuth": 90
      },
      {
        "image_url": "https://example.com/back.jpg",
        "label": "Back",
        "azimuth": 180
      },
      {
        "image_url": "https://example.com/left.jpg",
        "label": "Left",
        "azimuth": 270
      }
    ],
    "quality": "standard"
  }
}
curl -X POST https://www.cannonstudio.app/api/v1/requests \
  -H "Content-Type: application/json" \
  -H "x-api-key: $CANNON_API_KEY" \
  -H "x-idempotency-key: three-d-location-generate-001" \
  -d @- <<'JSON'
{
  "operation": "three_d.location.generate",
  "input": {
    "name": "Neon street market",
    "description": "A rainy night market with layered signage, food stalls, and wet asphalt.",
    "source_image_urls": [
      "https://example.com/front.jpg",
      "https://example.com/right.jpg",
      "https://example.com/back.jpg",
      "https://example.com/left.jpg"
    ],
    "angle_context": [
      {
        "image_url": "https://example.com/front.jpg",
        "label": "Front",
        "azimuth": 0
      },
      {
        "image_url": "https://example.com/right.jpg",
        "label": "Right",
        "azimuth": 90
      },
      {
        "image_url": "https://example.com/back.jpg",
        "label": "Back",
        "azimuth": 180
      },
      {
        "image_url": "https://example.com/left.jpg",
        "label": "Left",
        "azimuth": 270
      }
    ],
    "quality": "standard"
  }
}
JSON

Notes

  • Generates Cannon Studio 3D location/world artifacts from hosted location reference images.
  • Standalone requests should provide at least three source images; four directional images with `angle_context` produce more reliable spatial continuity.
  • The final request output can include splat, SPZ, panorama, mesh, collider, preview, camera path, and blocking overlay URLs.
  • Use `quality: standard` for the default world generation path; expanded world sizing should stay off until its separate cost cap is approved.

Success output

{
  "task_id": "loc3d_123",
  "asset_type": "3d_location",
  "status": "succeeded",
  "splat_url": "https://storage.googleapis.com/.../world.splat",
  "spz_url": "https://storage.googleapis.com/.../world.spz",
  "pano_url": "https://storage.googleapis.com/.../pano.jpg",
  "collider_glb_url": "https://storage.googleapis.com/.../collider.glb",
  "preview_image_urls": [
    "https://storage.googleapis.com/.../preview.jpg"
  ],
  "provider": "cannon3d",
  "model": "cannon-3d-location"
}