Skip to main content
POST
/
v1
/
video
/
generations
curl --request POST \
  --url 'https://api.elkapi.com/v1/video/generations' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "A first-person fruit tea ad, picking apples by hand, freshly cut and shaken, close-up product shots, cinematic, highly detailed",
    "metadata": {
      "duration": 8,
      "ratio": "16:9",
      "resolution": "720p",
      "generate_audio": true,
      "watermark": false
    }
  }'
{
  "id": "task_abc123",
  "task_id": "task_abc123",
  "object": "video",
  "model": "doubao-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1760000000
}

Documentation Index

Fetch the complete documentation index at: https://docs.elkapi.com/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url 'https://api.elkapi.com/v1/video/generations' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "A first-person fruit tea ad, picking apples by hand, freshly cut and shaken, close-up product shots, cinematic, highly detailed",
    "metadata": {
      "duration": 8,
      "ratio": "16:9",
      "resolution": "720p",
      "generate_audio": true,
      "watermark": false
    }
  }'
{
  "id": "task_abc123",
  "task_id": "task_abc123",
  "object": "video",
  "model": "doubao-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1760000000
}

Authorizations

Authorization
string
required
All endpoints require Bearer Token authentication.
Authorization: Bearer YOUR_API_KEY

Body

model
string
default:"doubao-seedance-2-0-260128"
required
Seedance model ID.Available values: doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128
prompt
string
required
Text prompt. The current adapter sends this field upstream as the final content text item.
images
array<string>
Array of image URLs or Base64 strings. If you need to specify role, use metadata.content instead.
seconds
string
Video duration in seconds. If set, it overrides metadata.duration.
metadata
object
Parameter object passed through to the Seedance upstream. Put official Seedance fields here.
metadata.duration
integer
Video duration. Seedance 2.0 is usually 4 to 15 seconds; you can also pass -1 if supported upstream.
metadata.ratio
string
Video aspect ratio.Example: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
metadata.resolution
string
Resolution.Example: 480p, 720p, 1080p
metadata.generate_audio
boolean
Whether to generate audio.
metadata.watermark
boolean
Whether to add a watermark.
metadata.seed
integer
Random seed.
metadata.content
array<object>
Multimodal reference content. Supports image_url, video_url, and audio_url; use the top-level prompt for text content.
[
  {
    "type": "image_url",
    "image_url": {
      "url": "https://example.com/reference.png"
    },
    "role": "reference_image"
  },
  {
    "type": "video_url",
    "video_url": {
      "url": "https://example.com/reference.mp4"
    },
    "role": "reference_video"
  },
  {
    "type": "audio_url",
    "audio_url": {
      "url": "https://example.com/reference.mp3"
    },
    "role": "reference_audio"
  }
]

Multimodal Example

curl --request POST \
  --url 'https://api.elkapi.com/v1/video/generations' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "Use the first-person composition of the reference video throughout, use the reference audio as background music, and generate a fruit tea advertisement",
    "metadata": {
      "duration": 11,
      "ratio": "16:9",
      "generate_audio": true,
      "watermark": false,
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url": "https://example.com/first-frame.jpg"
          },
          "role": "reference_image"
        },
        {
          "type": "video_url",
          "video_url": {
            "url": "https://example.com/reference.mp4"
          },
          "role": "reference_video"
        },
        {
          "type": "audio_url",
          "audio_url": {
            "url": "https://example.com/music.mp3"
          },
          "role": "reference_audio"
        }
      ]
    }
  }'

Response

id
string
Public task ID returned by ElkAPI.
task_id
string
Compatibility field. The value is the same as id.
object
string
Object type, fixed as video.
model
string
Model used by the request.
status
string
Task status. Usually queued after successful submission.
created_at
integer
Task creation timestamp.