All Products
Search
Document Center

Alibaba Cloud Model Studio:HappyOyster-Adventure-Query Travel Artifacts API Reference

Last Updated:Sep 20, 2026

Query the recorded original and the three composited variants of a completed Adventure Travel. For external delivery, withInstructionAndWatermark is recommended.

Scope

Query the recorded original and the three composited variants of a completed Adventure Travel. In Adventure, withInstruction means the exploration-interaction overlay variant, not a text-instruction subtitle variant. For external delivery, withInstructionAndWatermark is recommended. Before calling, confirm the following:

  • Authentication: Only the primary API Key is supported; temporary API Keys cannot be used (error code 403003).

  • Prerequisites: The Travel status is completed. An available original URL is the precondition for returning an artifacts response. Confirm via Query Travel Status.

  • Caller: Called by your server.

HTTP request

Singapore

GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v2/apps/happyoyster-1.0-adventure/openapi/v1/travels/artifacts

Replace {WorkspaceId} with your actual Workspace ID.

China (Beijing)

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v2/apps/happyoyster-1.0-adventure/openapi/v1/travels/artifacts

Replace {WorkspaceId} with your actual Workspace ID.

US (Virginia)

GET https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v2/apps/happyoyster-1.0-adventure/openapi/v1/travels/artifacts

Replace {WorkspaceId} with your actual Workspace ID.

Request parameters

Query Travel artifacts

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v2/apps/happyoyster-1.0-adventure/openapi/v1/travels/artifacts?encryptedTravelId={encryptedTravelId}' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY"

Authorization string (Required)

API Key authentication. Only the primary API Key is supported; it starts with sk-, e.g. sk-xxx. It is typically configured as the environment variable $DASHSCOPE_API_KEY. A temporary API Key (starting with st-) returns 403003.

Query parameters

encryptedTravelId string (Required)

An Adventure encrypted Travel ID with status completed. Returned by Enter Travel.

Response parameters

All four artifacts ready

{
    "code": 0,
    "message": null,
    "data": {
        "encryptedTravelId": "trvl_a1b2****",
        "composeStatus": "ready",
        "video": {
            "original": {
                "url": "https://cdn.happyoyster.com/exports/trvl_a1b2c3d4e5f6_raw.mp4?v=2",
                "status": "ready",
                "resolution": "720p",
                "durationSec": 90
            },
            "withWatermark": {
                "url": "https://cdn.happyoyster.com/exports/trvl_a1b2c3d4e5f6_wm.mp4?v=2",
                "status": "ready",
                "resolution": null,
                "durationSec": 90
            },
            "withInstruction": {
                "url": "https://cdn.happyoyster.com/exports/trvl_a1b2c3d4e5f6_overlay.mp4?v=2",
                "status": "ready",
                "resolution": null,
                "durationSec": 90
            },
            "withInstructionAndWatermark": {
                "url": "https://cdn.happyoyster.com/exports/trvl_a1b2c3d4e5f6_all.mp4?v=2",
                "status": "ready",
                "resolution": null,
                "durationSec": 90
            }
        }
    }
}

Composition still processing

{
    "code": 0,
    "message": null,
    "data": {
        "encryptedTravelId": "trvl_a1b2****",
        "composeStatus": "processing",
        "video": {
            "original": {
                "url": "https://cdn.happyoyster.com/exports/trvl_a1b2c3d4e5f6_raw.mp4?v=2",
                "status": "ready",
                "resolution": "720p",
                "durationSec": 90
            },
            "withWatermark": {
                "url": null,
                "status": "processing",
                "resolution": null,
                "durationSec": null
            },
            "withInstruction": {
                "url": null,
                "status": "processing",
                "resolution": null,
                "durationSec": null
            },
            "withInstructionAndWatermark": {
                "url": null,
                "status": "processing",
                "resolution": null,
                "durationSec": null
            }
        }
    }
}

code integer

Return code. 0 means success; non-zero is an error code.

message string

Error message. null on success.

data object

Response data. null on failure.

Properties

encryptedTravelId string

Encrypted Travel ID.

composeStatus string

The aggregated status of the three composited variants:

  • ready: withWatermark, withInstruction, and withInstructionAndWatermark are all ready
  • partial: at least one composited variant is ready, but not all
  • processing: none of the three composited variants is ready

It aggregates only the three composited variants and does not include original.

video object

The four fixed variants of the main video. Each item contains url, status, resolution, and durationSec.

  • original: the recorded original; a 720p representation is returned preferentially when available
  • withWatermark: watermark-only composited variant
  • withInstruction: exploration-interaction overlay composited variant only (not a text-instruction subtitle variant)
  • withInstructionAndWatermark: exploration-interaction overlay + watermark composited variant, recommended for external delivery

video.*.url string

Download URL; null when processing or unavailable.

video.*.status string

Per-item status:

  • ready: ready, url is accessible
  • processing: still compositing, url=null
  • unavailable: composition failed or the URL is temporarily unavailable, url=null

video.*.resolution string

"720p" when original matches 720p; otherwise it may be null.

video.*.durationSec integer

The uniformly parsed video duration in seconds; when parseable, all ready variants carry this value. It may be null when processing / unavailable or when the duration cannot yet be parsed.

Prerequisite states and call notes

  • When the Travel is not completed, does not exist, does not belong to you or is not Adventure, or the original is not yet available, 404000 is returned; the original is the hard gate for the whole endpoint.
  • The client can poll at a controlled interval while composeStatus != ready.
  • Do not interpret withInstruction as a directing text subtitle; in Adventure it is the exploration-interaction overlay.
  • For external delivery, read video.withInstructionAndWatermark; if your business only needs the original, keep reading video.original.url.
  • The four video variants share the same duration-parsing result, so within one response the ready variants with a parseable duration return a consistent durationSec.
  • A Travel ended by TRAVEL_NO_STREAM_AUTO_END is failed and generates no queryable artifacts.

Error codes

If the model call fails and returns an error, see HappyOyster Error Codes to resolve it.

Next steps