Seed3D v1

Seed3D v1 API Reference

Generate GLB 3D assets from a single image URL. The public API accepts a user API key, creates an async task, and returns normalized status and output URLs.

API v1https://seed3d-ai.org/v180 credits

Quick Start

curl -X POST 'https://seed3d-ai.org/v1/generate' \
  -H 'Authorization: Bearer YOUR_ZA_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "image": "https://example.com/product.png",
    "prompt": "clean topology, neutral studio lighting",
    "subdivision_level": "medium"
  }'

Authentication

Send your user API key in the Authorization header for every public API request.

Create or copy your key from the dashboard: API Keys
Authorization: Bearer YOUR_ZA_API_KEY

Pricing

Image-to-3D generation

Credits are deducted when a task is accepted. Failed provider submissions are refunded by the backend.

80 credits

API Endpoints

Submit one image URL and optional generation hints. The response returns a task_id immediately.

image

required string

Public HTTP or HTTPS image URL. JPG, PNG, and WebP inputs are recommended.
prompt

optional string

Optional text hint for surface, material, geometry, or asset intent. Maximum 2000 characters.
subdivision_level

optional string

Mesh detail hint. Supported values: low, medium, high, or numeric aliases 0, 1, 2.default: provider default
public

optional boolean

Whether the generated result can be treated as public content by downstream features.default: false
callback_url

optional string

Optional public webhook URL saved with the task. Localhost URLs are rejected.

Example Request

{
  "image": "https://example.com/product.png",
  "prompt": "clean topology, neutral studio lighting",
  "subdivision_level": "medium",
  "public": false,
  "callback_url": "https://example.com/webhooks/seed3d"
}

Responses

{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "n105abc123s3d",
    "status": "IN_PROGRESS",
    "consumed_credits": 80
  }
}

Poll this endpoint until status is SUCCESS or FAILED. Successful tasks return response as an array of output URLs.

task_id

required string

Task ID returned by POST /v1/generate.

Example Request

curl -X GET 'https://seed3d-ai.org/v1/status?task_id=n105abc123s3d' \
  -H 'Authorization: Bearer YOUR_ZA_API_KEY'

Responses

{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "n105abc123s3d",
    "status": "SUCCESS",
    "consumed_credits": 80,
    "request": {
      "image": "https://example.com/product.png",
      "prompt": "clean topology, neutral studio lighting",
      "subdivision_level": "medium"
    },
    "response": [
      "https://cdn.example.com/seed3d-output.glb"
    ],
    "error_message": null
  }
}

Query recent tasks created by the API key in the Authorization header.

page

optional number

Pagination page number.default: 1
limit

optional number

Items per page, capped by the backend.default: 20
task_id

optional string

Optional exact task ID filter.

Example Request

curl -X GET 'https://seed3d-ai.org/v1/list?page=1&limit=20' \
  -H 'Authorization: Bearer YOUR_ZA_API_KEY'

Dashboard Tools

Use the dashboard to create keys and inspect logs while developing your integration.

Error Codes

HTTPReason
400Missing or invalid request parameter.
401Authorization bearer token is missing or invalid.
402The API key account does not have enough credits.
403The requested API key does not match the bearer token.
404The task ID was not found.
405HTTP method is not allowed for this route.
500Server or upstream provider error. Retry later or contact support.