Operation
Generate Cannon 3D Model
Generate a Cannon Studio 3D character or object model from hosted source images.
Operation: three_d.model.generate
Submit via POST /api/v1/requests
Credits: dynamic
Cannon 3D Model
Request fields
source_image_urlsasset_kindnametexture_base_colorcharacter_iduniverse_idobject_idworkspace_id
Example request
{
"operation": "three_d.model.generate",
"input": {
"source_image_urls": [
"https://example.com/front-reference.png",
"https://example.com/back-reference.png"
],
"asset_kind": "object",
"name": "Hero prop",
"texture_base_color": "#b8b8b8"
}
}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-model-generate-001" \
-d @- <<'JSON'
{
"operation": "three_d.model.generate",
"input": {
"source_image_urls": [
"https://example.com/front-reference.png",
"https://example.com/back-reference.png"
],
"asset_kind": "object",
"name": "Hero prop",
"texture_base_color": "#b8b8b8"
}
}
JSONNotes
- Generates a Cannon Studio 3D model as a hosted GLB from one or more public source image URLs.
- Use `asset_kind: object` for props and products; omit IDs for a standalone image-to-3D request.
- If you pass existing `character_id`/`universe_id` or `object_id` fields, Cannon Studio also links the artifact back to that saved asset.
- The public request output is Cannon-branded and returns hosted model/preview URLs through the request lifecycle.
Success output
{
"task_id": "model3d_123",
"asset_type": "3d_model",
"status": "succeeded",
"model_url": "https://storage.googleapis.com/.../model.glb",
"preview_image_urls": [
"https://storage.googleapis.com/.../preview.png"
],
"raw_artifact_urls": [
"https://storage.googleapis.com/.../model.glb"
],
"provider": "cannon3d",
"model": "cannon-3d-model",
"asset_kind": "object"
}