Skip to content

Asset resources ​

media assets resource API is used to upload graphics, audio, video, etc. in a visible way, and is reused in the subsequent generation of task. After uploading successfully, MoonNexAI returns media assets ID, URL, media assets quote, and status information.

Video generation does not automatically create MoonNexAI-hosted URLs or Asset://asset_xxx references. Supply your public URLs directly, or binary files where the selected endpoint supports them. Hosting URLs and asset references are created only when you explicitly call the asset-upload API.

MoonNexAI OSS is for integration testing. OSS uploads and asset authentication are currently free, but there is no promise of long-term retention, permanent URLs, continuous availability or a long-term storage service level. For production and long-term use, provide stable direct URLs from your own storage, accessible anonymously without login or extra headers.

When to use media assets ​

  • The same picture or the same audio is used repeatedly.
  • Generating API requires stable reference files to avoid external URLs.
  • The business system wants to manage user media assets by media assets ID.
  • The target model explicitly supports the Asset://asset_xxx media assets reference.
  • digital human image, clone voice, image-to-video, task, etc., need to prepare the document first.

A one-time image-to-video request generally does not require asset creation if the file already has a stable public URL.

Seedance-2 and Moon-2 media assets policy ​

Group Scatter Checklist ​

GroupRepresentative Modelmode=ossmode=assetmode=bothUse recommendations
..seedance-2.0-sz seriesseedance-2.0-sz, seedance-2.0-sz-fast, seedance-2.0-sz-miniSelectable rotationsSupportAdvanced scene availableCreates a picture, video or audio media assets based on a physical generated model; up to 9 + 3 video + 3 audio, for a total of up to 15.
seedance-2.5-szseedance-2.5-szSelectable rotationsSupportAdvanced scene availableseedance-2.5-sz to prepare media assets individually; up to 30 figure + 10 video + 10 audio, for a total of 50 audio.
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & (((((()seedance-2.0-kz-fast, seedance-2.0-kzSupportSupportAdvanced scene availableThis group is given priority when media assets is required.
& View-2.0-cl seriesseedance-2.0-cl-fast, seedance-2.0-cl, seedance-2.0-cl-miniSupportSupportAdvanced scene availableSupports standard media assets creation and citation; seedance-2.0-cl-mini supports 480P / 720P, duration 4-15 seconds; and is not common to media assets ID in the edance-2.0-kz series.
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & (((((((((()/ )seedance-2.0-cl-b-fast, seedance-2.0-cl-b-miniSupportSupportAdvanced scene availableCreate and quote media assets by Volcengine-compatible Seedance 2.0 Fast/ Mini; media assets ID is not used in other Seedance-2 models.
& View-2.0-gl seriesseedance-2.0-gl, seedance-2.0-gl-fast, seedance-2.0-gl-miniSelectable rotationsSupportAdvanced scene availableClient has a SURL priority; created by the target model when media assets ID is needed, up to 9 + 3 video + 3 audio, 15 in total.
Moon-2.0-wc seriesmoon-2.0-wc-720p, moon-2.0-wc-b-720p, moon-2.0-wc-b-720p-fast, moon-2.0-wc-c-720p, moon-2.0-wc-d-720p, moon-2.0-wc-e-720p, moon-2.0-wc-f-720pSupportNot as Current Input PathNot recommendedRECOMMENDS the public network URL; seven models support the real person. Base, B and B Fast up to 9 + 3 video + 3 audio and a total of 12, of which B/ B Fast does not support pure text; F up to 9 + 3 video + 3 audio, up to 12 pictures; C up to 9 graphics and the video/ audio is disabled; D / E up to 4 figure + 3 video + 1 audio and is not allowed to speak pure.
Moon-2.0-ld seriesmoon-2.0-ld-a, moon-2.0-ld-bSupportSupportAdvanced scene availableThe two models have the same capacity; references[] is recommended; the picture is up to 9 and the video up to 3 and the audio up to 3 and the audio up to 15; the audio should be used with the picture or video.
moon-2.0-am familymoon-2.0-am-720p-fastSupportedNot a current input methodNot recommendedUse your own public URLs for production; mode=oss can provide temporary integration-test URLs. Suitable for one image, image plus background music, and fast mixed-media tasks.
Moon-2.0-me seriesmoon-2.0-me-a-720p, moon-2.0-me-b-720p, moon-2.0-me-a-fastSupportBased on model capabilitiesAdvanced scene availableA / A Fast up to 9 pictures; B up to 9 + 3 videos + 3 audio, up to a total of 15; recommended to use references[] and stabilize public network URLs.

Which groups are the best for Asset://? ​

  • seedance-2.0-sz, seedance-2.0-sz-fast, seedance-2.0-sz-mini and seedance-2.5-sz support mode=asset authentication for the target model. Explicitly supply image, video and audio references in mixed-media generation requests; completing review or preparation does not attach assets automatically.
  • The seedance-2.0-kz family is well suited to integrating the asset API into reusable workflows.
  • The seedance-2.0-cl family supports mode=asset for image and video references. Prepare or verify assets for the CL model separately; do not mix its asset IDs with seedance-2.0-kz IDs. seedance-2.0-cl-mini uses the same reference format.
  • The waltz of tedance-2.0-cl-b supports the creation and reference of media assets by target model; parameters and media assets capabilities are consistent with the Volcengine-compatible Seedance 2.0 Fast/ Mini contract, and media assets ID does not mix over the model line.
  • The seedance-2.0-gl family supports mode=asset for image, video and audio references usable by the selected model. Existing stable public URLs can be used directly. Multipart or mode=oss upload is optional for local files, not required for production use.
  • The moon-2.0-wc family supports 720P mixed-media tasks billed per task. Base, B and B Fast accept up to 12 references total: 9 images, 3 videos and 3 audio files. F supports text-only input, real people and 4–15 seconds, with the same per-type and total limits. C accepts up to 9 images without video or audio. D/E accept up to 4 images + 3 videos + 1 audio file and reject audio-only input. Use your own public URLs in production; mode=oss is for local integration tests.
  • moon-2.0-ld-a and moon-2.0-ld-b suit 720P character, pose, multiple-image, multiple-video and background-audio references. They share the same capabilities, accepting public URLs, MoonNexAI-hosted URLs and supported asset references, at most 15 references total.
  • The moon-2.0-am family supports fast 720P mixed-media tasks billed per task. Use your own public URLs for production; mode=oss is for local integration tests.
  • moon-2.0-me-a-720p, moon-2.0-me-a-fast and moon-2.0-me-b-720p recommend references[] for URL into the Stable Public Network; A / A Fast only supports pictures, B supports images, videos and audio mix references, and audio needs to be matched with pictures or videos.

Upload media assets ​

bash
curl https://moonnexai.com/v1/assets/uploads \
  -H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
  -F "file=@./product.png" \
  -F "type=image" \
  -F "purpose=video_reference" \
  -F "mode=oss"

Create media assets references using an existing public network URL:

bash
curl https://moonnexai.com/v1/assets/uploads \
  -H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-kz-fast",
    "mode": "asset",
    "type": "image",
    "url": "https://example.com/reference.png"
  }'

Common field:

fieldTypeAnnotations
filefileFile to upload.
urlstringOptional. A public network file URL already exists. It is commonly used when using JSON request.
modelstringOptional. It is recommended that the target model name be entered when media assets references are created.
typestringmedia assets type, common values image, audio, video.
purposestringOptional. media assets uses, e.g. video_reference, digital_human_avatar, voice_training.
modestringOptional. oss, asset or both. Default is based on the current configuration of API and suggests a visible entry.

mode Description:

modeBehaviourbilling Rules
ossCreates a MoonNexAI OSS URL for testing only, returning media assets ID.Free.
assetAuthenticate media and create an Asset://asset_xxx reference. Returns an explicit error if the model does not support this operation.Free.
bothCreates both the OSS URL and Asset://asset_xxx media assets references.Both of the prep moves are free.

Do not use mode=both by default. It creates both a test OSS URL and an Asset://asset_xxx model reference; failure of either action affects usability. Use it only when an integration test needs both outputs.

Example of success response:

json
{
  "id": "asset_xxx",
  "object": "asset",
  "type": "image",
  "url": "https://example.com/assets/asset_xxx.png",
  "reference": "Asset://asset_xxx",
  "status": "ready",
  "sync_status": "ready",
  "preparation_status": "ready",
  "generation_ready": true,
  "trace_id": "2026060301010100000000000000000000",
  "created_at": 1710000000
}

If mode=asset or mode=both requires asynchronous preparation, the initial state may be created or syncing, review_status, possibly pending. Only generation_ready=true and preparation_status=ready media assets is suitable for immediately using the model for requesting media assets references. review_passed=true only indicates that the audit has been approved; if synchronous to the generator fails, response returns preparation_status=failed, generation_ready=false and sync_error.

Reference media assets ​

Generate API with direct access Asset://asset_xxx:

json
{
  "model": "seedance-2.0-kz-fast",
  "prompt": "Turn this product image into a short premium ad shot.",
  "image": "Asset://asset_xxx",
  "duration": 5,
  "aspect_ratio": "16:9"
}

Review approval or generation_ready=true does not attach assets to later video tasks. Explicitly include references or URLs in every generation request. input_type: "reference" alone does not select recently uploaded or approved assets.

Seedance-2 reference images video example:

json
{
  "model": "seedance-2.0-kz-fast",
  "prompt": "图中女孩对着镜头说“茄子”,360度环绕运镜",
  "mode": "fast",
  "resolution": "720p",
  "ratio": "adaptive",
  "duration": 5,
  "generate_audio": true,
  "watermark": false,
  "web_search": false,
  "input_type": "reference",
  "generation_type": "video",
  "content": [
    {
      "type": "image_url",
      "role": "reference_image",
      "image_url": {
        "url": "Asset://asset_xxx"
      }
    }
  ]
}

If media assets is desired as first frame, replace role with first_frame or use first_frame_url: "Asset://asset_xxx".

Part API also supports direct public domain URLs. For long-term business processes, media assets IDs can be used to facilitate tracking, but media files should remain in customer-owned storage; for one-time task, direct client-owned public service URLs are usually simpler.

URL and binary files ​

The asset API is not required for every file input:

  • There is a public network URL: URL is passed directly in the request generation.
  • Generate API for multipart/binary: direct to the API requirement.
  • Only the MoonNexAI OSSS URL is required for the inter-coordination test on a temporary basis: Call /v1/assets/uploads, use mode=oss.
  • Asset://asset_xxx media assets Quoted: Call /v1/assets/uploads after confirming model support, use mode=asset.
  • The combination will also need to test OSS URL and Asset://asset_xxx: use mode=both and handle two types of readiness.

Neither billing nor ZXQXZ authentication is available for OSS uploading and media assets; any follow-up video or other generation of task still follows the corresponding model billing. MoonNexAI OSS cannot replace the customer ' s own official business media assets storage.

Query media assets ​

bash
curl "https://moonnexai.com/v1/assets?type=image&page=1&page_size=20" \
  -H "Authorization: Bearer <MOONNEXAI_API_KEY>"
bash
curl https://moonnexai.com/v1/assets/asset_xxx \
  -H "Authorization: Bearer <MOONNEXAI_API_KEY>"

list API supports the page break. You can either screen by media assets type or you can keep asset_id in your own business system.

Query responses include trace_id or the X-MoonNexAI-Trace-Id header. If synchronization fails or review_status=failed, retain asset_id, trace_id and the original response for troubleshooting.

Documentation recommendations ​

TypeRecommendations
PictureUse clear subject matter to avoid overcompression; the proposed background of the commodity chart is clean.
AudioUse clear human voice to reduce mixing, noise and background music.
VideoMaintaining the subject ' s stability, avoiding a strong cover and frequent lenses.

More parameters and response structures are found in API Reference.