Jimeng video (native format)
Menu
Video

Jimeng video (native format)

Submit Jimeng (Volcengine) video tasks using the official Jimeng request format.

POST /jimeng/

Use this endpoint if your code already calls the official Jimeng (即梦, Volcengine Visual) API. The body keeps Jimeng's field names; RuToken signs the request for you and returns a task ID. For new integrations, the unified video API is simpler and works with every provider.

Authentication

Send your RuToken key in the Authorization: Bearer sk-xxxx header. You do not need Volcengine AccessKey/SecretKey signing — the gateway handles that.

Query parameters

Parameter Type Required Description
Action string Yes CVSync2AsyncSubmitTask to submit a task.
Version string Yes API version, 2022-08-31.

Request body

Content type: application/json. Fields not listed below are also passed through to Jimeng.

Parameter Type Required Description
req_key string Yes Jimeng model (service) ID, e.g. jimeng_vgfm_t2v_l20, jimeng_v30, jimeng_v30_pro. It is also the model name used for billing.
prompt string Yes Text description of the video.
image_urls string[] No Image URLs for image-to-video.
binary_data_base64 string[] No Base64-encoded images for image-to-video (use either this or image_urls).
aspect_ratio string No Text-to-video aspect ratio, e.g. 16:9, 9:16, 1:1, 4:3, 3:4, 21:9.
frames integer No Video length in frames: 121 (5 s, default) or 241 (10 s).
seed integer No Random seed. -1 for random.

For jimeng_v30 the gateway picks the right Jimeng 3.0 service from the input: no image → text-to-video, one image → image-to-video (first frame), two images → first-and-last-frame video. jimeng_v30_pro always uses the 3.0 Pro service.

Request example

cURL
curl "https://rutoken.ai/jimeng/?Action=CVSync2AsyncSubmitTask&Version=2022-08-31" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "req_key": "jimeng_v30",
    "prompt": "A paper boat drifting down a rainy street, warm evening light",
    "aspect_ratio": "16:9",
    "frames": 121,
    "seed": -1
  }'
Python
import requests

resp = requests.post(
    "https://rutoken.ai/jimeng/",
    params={"Action": "CVSync2AsyncSubmitTask", "Version": "2022-08-31"},
    headers={"Authorization": "Bearer sk-xxxx"},
    json={
        "req_key": "jimeng_v30",
        "prompt": "A paper boat drifting down a rainy street, warm evening light",
        "aspect_ratio": "16:9",
    },
)
print(resp.json()["task_id"])

Response

json
{
  "id": "task_6Fh2kVb0mQ9xYzA1pL3sT8uWcR4nE7dJ",
  "task_id": "task_6Fh2kVb0mQ9xYzA1pL3sT8uWcR4nE7dJ",
  "object": "video",
  "model": "jimeng_v30",
  "status": "queued",
  "progress": 0,
  "created_at": 1760000000
}

task_id is a RuToken task ID, not the Jimeng task ID.

Query a task

Query the result with the unified endpoint:

cURL
curl https://rutoken.ai/v1/video/generations/task_6Fh2kVb0mQ9xYzA1pL3sT8uWcR4nE7dJ \
  -H "Authorization: Bearer $API_KEY"

The response contains status (SUBMITTED, QUEUED, IN_PROGRESS, SUCCESS, FAILURE), result_url with the video when the task has succeeded, and fail_reason when it has failed. See Video generation for the full format.

See also: Errors.