KindRouter Docs
General Description
Header Parameters
For every request endpoint, the following information must be included in the request header.
Parameter Type Required Example value
Authorization string Yes Bearer <token>
Content-Type string Yes application/json
To get your <token>:
1. Log in from the homepage.
2. Click on "Profile" in the upper-right corner.
3. Your <token> will be displayed there.
Submitting a Video Generation Request
Credit consumption
Resolution Credit consumption / Duration (seconds)
720p 5
If the Credit consumption / Duration (seconds) is 6, and your video duration is 5 seconds, the total credits consumed will be 6 × 5 = 30 .
Based on a rate of $15 per 1,000 credits, this would cost $0.45, which is approximately $0.09 per second.
EndPoint
https://kindrouter.com/api/v1/videos
Request Method
POST
Request Parameters
Parameter Type Required Description
model string Yes The model to use for video generation (e.g., bytedance/seedance-2.0-fast)
prompt string Yes Text description of the video to generate
duration integer Yes Duration of the generated video in seconds, 4-15
resolution string Yes Resolution of the output video (e.g., 720p)
aspect_ratio string Yes Aspect ratio of the output video (e.g., 16:9, 9:16)
frame_images array No Images for first/last frames (image-to-video)
input_references array No Reference images for style guidance (reference-to-video)
callback_url string No URL to receive a webhook notification when the job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS
Using Images
There are two ways to provide images, each triggering a different generation mode:
frame_images: Specifies first or last frame images for image-to-video generation. Each entry must include a frame_type of first_frame or last_frame.
input_references: Provides style or content reference images for reference-to-video generation. The model uses these as visual guidance rather than exact frames.
If both fields are provided, frame_images takes precedence and the request is treated as image-to-video.
Image-to-Video (frame_images)
{
  "model": "bytedance/seedance-2.0-fast",
  "prompt": "A character walking through a forest",
  "frame_images": [
      {
      "type": "image_url",
      "image_url": {
          "url": "https://example.com/first-frame.png"
      },
      "frame_type": "first_frame"
      }
  ],
  "resolution": "1080p"
}
Reference-to-Video (input_references)
{
  "model": "bytedance/seedance-2.0-fast",
  "prompt": "A colossal solar flare beside a planet",
  "input_references": [
      {
          "type": "image_url",
          "image_url": {
              "url": "https://example.com/style-ref.png"
          }
      }
  ],
  "resolution": "1080p"
}
Response Format
{
    "id": "abc123",
    "polling_url": "https://openrouter.ai/api/v1/videos/abc123",
    "status": "pending"
}
Job Statuses
Status Description pending The job has been submitted and is queued in_progress The video is being generated completed The video is ready to download failed The generation failed (check the error field)
Poll Response
EndPoint
https://kindrouter.com/api/v1/videos/{id}
Request Method
GET