# Skyreels v4 | Reference to Video
SkyReels Reference-to-Video creates videos from reference images, keeping characters and scenes consistent across shots for branded ads and storytelling.
## API Information
- **Model Slug:** skyreels-v4-reference-to-video
- **Branded URL:** https://www.eachlabs.ai/skywork-ai/skyreels-v4/skyreels-v4-reference-to-video
- **Provider:** Skywork AI
- **Category:** Reference to Video
- **Output Type:** video
- **Status:** active
- **Version:** 0.0.1
- **Base Cost:** Cost equals the credits reported in the provider response multiplied by $0.01. Per-second rates without video input - fast: $0.08 (480p) / $0.11 (720p) / $0.275 (1080p). std: $0.11 (480p) / $0.14 (720p) / $0.35 (1080p). With video input - fast: $0.15 (480p) / $0.20 (720p) / $0.50 (1080p). std: $0.18 (480p) / $0.25 (720p) / $0.625 (1080p).
- **Estimated Processing Time:** 0 seconds
- **Last Updated:** 2026-04-29
- **Interactive Demo:** https://www.eachlabs.ai/ai-models/skyreels-v4-reference-to-video
## Pricing
- **Charge Type:** dynamic
- **Pricing Details:** Cost equals the credits reported in the provider response multiplied by $0.01. Per-second rates without video input - fast: $0.08 (480p) / $0.11 (720p) / $0.275 (1080p). std: $0.11 (480p) / $0.14 (720p) / $0.35 (1080p). With video input - fast: $0.15 (480p) / $0.20 (720p) / $0.50 (1080p). std: $0.18 (480p) / $0.25 (720p) / $0.625 (1080p).
### Pricing Rules
| Condition | Pricing |
| --- | --- |
| Rule 1 | Cost equals the credits reported in the provider response multiplied by $0.01. Per-second rates without video input - fast: $0.08 (480p) / $0.11 (720p) / $0.275 (1080p). std: $0.11 (480p) / $0.14 (720p) / $0.35 (1080p). With video input - fast: $0.15 (480p) / $0.20 (720p) / $0.50 (1080p). std: $0.18 (480p) / $0.25 (720p) / $0.625 (1080p). |
## Input Schema
| Parameter | Type | Required | Default | Constraints | Description |
|-----------|------|----------|---------|-------------|-------------|
| prompt | string | Yes | - | - | Scene description with optional reference tags. Reference image groups via tags like @Actor1, @Scene1 and reference videos via tags like @video1. Inline markup supported by the provider: ... for background music description, ... for spoken lines, ... for voice samples. Limit 1280 tokens (roughly 4000 characters). |
| ref_images | array | No | - | - | Reference image groups for subject, scene, style, or grid composition. All items must share the same type. type=image accepts 1-5 image_urls per group. type=grid accepts exactly 1 image_url per group (a composite collage). Only image-type groups can include audio_url. Cannot combine with extend-type ref_videos. Use prompt tags to invoke each group (e.g. @Actor1, @Scene1). |
| ref_videos | array | No | - | - | Single reference video used for motion, extension, or editing. extend type extends the input clip; reference type uses it as motion/composition guidance. Adding a reference video forces resolution to align with the source video and bills the with-video-input rate. |
| duration | integer | No | 5 | - | Length of the generated video in seconds. Range 3-15. When ref_videos is set with type=reference, duration is overridden to match the source video (max 10s). Each second is billed independently per resolution and mode. |
| aspect_ratio | string | No | 16:9 | 16:9,9:16,1:1,4:3,3:4 | Output frame aspect ratio. Ignored when ref_videos is provided (output aligns to the reference video). 16:9 cinematic (default). 9:16 mobile/social. 1:1 square. 4:3 standard. 3:4 vertical. |
| resolution | string | No | 1080p | 480p,720p,1080p | Output resolution. 480p lowest cost and fastest. 720p balanced. 1080p highest quality and most credits per second (default). |
| mode | string | No | std | fast,std | Generation pipeline. fast: lower price per second, faster turnaround, slightly reduced fidelity. std: highest fidelity at full price (default). |
| prompt_optimizer | boolean | No | true | - | When true (default), the provider expands and refines the prompt for better adherence. Set false to send the prompt verbatim. |
## Example Request
```bash
curl -X POST https://api.eachlabs.ai/v1/prediction/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "skyreels-v4-reference-to-video",
"input": {
"prompt": "@Image1 sits on a chair holding @Image2 on her lap with both hands. She looks down at the bag, then looks up at the camera."
}
}'
```
## Output Schema
Response returned by `GET /v1/prediction/{id}` when the job completes:
```json
{
"status": "success",
"predictionID": "string",
"output": "string (URL of generated video)",
"metrics": {
"predict_time": "number (seconds)"
}
}
```
## Polling
```bash
curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \
-H "X-API-Key: YOUR_API_KEY"
```
| Status | Meaning |
|--------|---------|
| `processing` | Still running — poll again |
| `success` | Done — read `output` |
| `error` | Failed — read `message` / `details` |
## Webhook (alternative to polling)
Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends:
```json
{
"exec_id": "prediction-uuid",
"status": "succeeded",
"output": "https://...",
"error": ""
}
```
`status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds.
## Errors
Error body: `{ "status": "error", "message": "...", "details": "..." }`
| Code | Meaning |
|------|---------|
| `400` | Invalid input |
| `401` | Missing / invalid `X-API-Key` |
| `404` | Unknown model or prediction id |
| `429` | Rate limit — 100 creates / min, 10 concurrent per key |
| `5xx` | Retry with backoff |
## Overview
**Skyreels v4 | Reference to Video Overview**
Skyreels v4 | Reference to Video from Skywork AI revolutionizes content creation by generating synchronized video and audio from reference inputs in a single forward pass, solving the challenge of producing cohesive multimedia clips efficiently. As part of the Skyreels family, this open-source model stands out as the first to co-generate high-quality 1080p video at 32 FPS with integrated audio, up to 15 seconds long, eliminating the need for separate audio post-production.
Developed by Skywork AI and released on April 3, 2026, Skyreels v4 | Reference to Video leverages a Dual-stream Multimodal Diffusion Transformer (MMDiT) architecture, making it ideal for creators seeking joint audio-video outputs. Available with 70 free credits monthly on platforms like ComfyUI or Model Studio, it offers accessible entry into advanced reference-to-video generation via the Skyreels v4 | Reference to Video API.
This model excels in scenarios requiring realistic motion and sound alignment, setting it apart in the open-source landscape for reference-to-video tasks on each::labs.
## Usage Notes
- API Base URL: `https://api.eachlabs.ai/v1`
- Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys.
- File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected.
- For structured parameters (arrays / objects) send real JSON values, not stringified payloads.
- Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally.
- Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.