# Skyreels v4 | Text to Video SkyReels Text-to-Video generates cinematic video clips from written prompts with consistent characters for storytelling and short-form content. ## API Information - **Model Slug:** skyreels-v4-text-to-video - **Branded URL:** https://www.eachlabs.ai/skywork-ai/skyreels-v4/skyreels-v4-text-to-video - **Provider:** Skywork AI - **Category:** Text 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). - **Estimated Processing Time:** 0 seconds - **Last Updated:** 2026-04-29 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/skyreels-v4-text-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). ### 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). | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description of the video to generate. Describe the scene, subjects, motion, atmosphere, and camera movement. Limit 1280 tokens (roughly 4000 characters); longer prompts are truncated by the provider. | | duration | integer | No | 5 | - | Length of the generated video in seconds. Range 3-15. Each second is billed independently per resolution and mode. Default 5s. | | aspect_ratio | string | No | 16:9 | 16:9,9:16,1:1,4:3,3:4 | Output frame aspect ratio. 16:9 landscape (default, cinematic). 9:16 vertical (mobile/social). 1:1 square. 4:3 standard TV. 3:4 vertical standard. | | 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-text-to-video", "input": { "prompt": "A cinematic drone shot starting at street level in a quiet coastal village, slowly rising upward. As the camera ascends, terracotta rooftops, narrow winding streets and blooming window boxes come into view. The sea stretches wide in the background, glowing with soft golden reflections from the late afternoon sun. The camera gently tilts downward while rising, revealing the full layout of the seaside village below. Warm breeze moves through the trees. Peaceful yet cinematic mood, ultra realistic, smooth motion." } }' ``` ## 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 | Text to Video Overview** Skyreels v4 | Text to Video is a custom text-to-video model available on **each::labs** (eachlabs.ai), transforming textual descriptions into dynamic video content with ease. This model solves the challenge of creating high-quality videos without complex editing software, enabling users to generate visuals directly from prompts. Its primary differentiator lies in seamless integration with the each::labs Inference API, allowing developers and creators to produce multimedia workflows efficiently. Ideal for content creators and marketers, Skyreels v4 | Text to Video supports rapid prototyping of video ideas, making it a go-to for Custom text-to-video applications. Whether building promotional clips or conceptual visuals, this model streamlines the process on the each::labs platform. ## 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.