mcpField
E
eachlabs-video-generation

eachlabs-video-generation

github.com/eachlabsCreative & media44494 installsUpdated today
Repository

About eachlabs-video-generation

eachlabs-video-generation is a skill for generating videos through the EachLabs Predictions API from text, images, or references. It covers a range of model types and tasks, and documents the flow for checking models, creating predictions, and polling results.

Key features

  1. 01Generate video from text
  2. 02Generate video from images
  3. 03Select from model categories
  4. 04Create transitions and effects
  5. 05Control motion and sync lips

Use cases

  1. 01Turn a text prompt into a video
  2. 02Animate a still image
  3. 03Create scene transitions and effects
  4. 04Make talking-head or lip-sync videos

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/eachlabs/skills --skill eachlabs-video-generation

After installing, type/eachlabs-video-generationin Claude Code to confirm it loaded.

Bundled filesreferences/MODELS.md

Details

From the project README

EachLabs Video Generation

Generate new videos from text prompts, images, or reference inputs using 165+ AI models via the EachLabs Predictions API. For editing existing videos (upscaling, lip sync, extension, subtitles), see the eachlabs-video-edit skill.

Authentication

Header: X-API-Key: <your-api-key>

Set the EACHLABS_API_KEY environment variable or pass it directly. Get your key at eachlabs.ai.

Quick Start

1. Create a Prediction
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "pixverse-v5-6-text-to-video",
    "version": "0.0.1",
    "input": {
      "prompt": "A golden retriever running through a meadow at sunset, cinematic slow motion",
      "resolution": "720p",
      "duration": "5",
      "aspect_ratio": "16:9"
    }
  }'
2. Poll for Result
curl https://api.eachlabs.ai/v1/prediction/{prediction_id} \
  -H "X-API-Key: $EACHLABS_API_KEY"

Poll until status is "success" or "failed". The output video URL is in the response.

Model Selection Guide

Text-to-Video
ModelSlugBest For
Pixverse v5.6pixverse-v5-6-text-to-videoGeneral purpose, audio generation
XAI Grok Imaginexai-grok-imagine-text-to-videoFast creative
Kandinsky 5 Prokandinsky5-pro-text-to-videoArtistic, high quality
Seedance v1.5 Proseedance-v1-5-pro-text-to-videoCinematic quality
Seedance 2.0 Fastbytedance-seedance-2-0-text-to-video-fastNative synchronized audio, 4–15s, 480p/720p
Wan v2.6wan-v2-6-text-to-videoLong/narrative content
Kling v2.6 Prokling-v2-6-pro-text-to-videoMotion control
Pika v2.2pika-v2-2-text-to-videoStylized, effects
Minimax Hailuo V2.3 Prominimax-hailuo-v2-3-pro-text-to-videoHigh fidelity
Sora 2 Prosora-2-text-to-video-proPremium quality
Veo 3veo-3Google's best quality
Veo 3.1veo3-1-text-to-videoLatest Google model
LTX v2 Fastltx-v-2-text-to-video-fastFastest generation
Moonvalley Mareymoonvalley-marey-text-to-videoCinematic style
Oviovi-text-to-videoGeneral purpose
Image-to-Video
ModelSlugBest For
Pixverse v5.6pixverse-v5-6-image-to-videoGeneral purpose
XAI Grok Imaginexai-grok-imagine-image-to-videoCreative edits
Wan v2.6 Flashwan-v2-6-image-to-video-flashFastest
Wan v2.6wan-v2-6-image-to-videoHigh quality
Seedance v1.5 Proseedance-v1-5-pro-image-to-videoCinematic
Seedance 2.0 Fastbytedance-seedance-2-0-image-to-video-fastNative audio + end-frame transition, 4–15s
Kandinsky 5 Prokandinsky5-pro-image-to-videoArtistic
Kling v2.6 Pro I2Vkling-v2-6-pro-image-to-videoBest Kling quality
Kling O1kling-o1-image-to-videoLatest Kling model
Pika v2.2 I2Vpika-v2-2-image-to-videoEffects, PikaScenes
Minimax Hailuo V2.3 Prominimax-hailuo-v2-3-pro-image-to-videoHigh fidelity
Sora 2 I2Vsora-2-image-to-videoPremium quality
Veo 3.1 I2Vveo3-1-image-to-videoGoogle's latest
Runway Gen4 Turbogen4-turboFast, film quality
Veed Fabric 1.0veed-fabric-1-0Social media
Transitions & Effects
ModelSlugBest For
Pixverse v5.6 Transitionpixverse-v5-6-transitionSmooth transitions
Pika v2.2 PikaScenespika-v2-2-pikascenesScene effects
Pixverse v4.5 Effectpixverse-v4-5-effectVideo effects
Veo 3.1 First Last Frameveo3-1-first-last-frame-to-videoInterpolation
Motion Control & Animation
ModelSlugBest For
Kling v2.6 Pro Motionkling-v2-6-pro-motion-controlPro motion control
Kling v2.6 Standard Motionkling-v2-6-standard-motion-controlStandard motion
Motion Fastmotion-fastFast motion transfer
Motion Video 14Bmotion-video-14bHigh quality motion
Wan v2.6 R2Vwan-v2-6-reference-to-videoReference-based
Kling O1 Reference I2Vkling-o1-reference-image-to-videoReference-based
Talking Head & Lip Sync
ModelSlugBest For
Bytedance Omnihuman v1.5bytedance-omnihuman-v1-5Full body animation
Creatify Auroracreatify-auroraAudio-driven avatar
Infinitalk I2Vinfinitalk-image-to-videoImage talking head
Infinitalk V2Vinfinitalk-video-to-videoVideo talking head
Sync Lipsync v2 Prosync-lipsync-v2-proLip sync
Kling Avatar v2 Prokling-avatar-v2-proPro avatar
Kling Avatar v2 Standardkling-avatar-v2-standardStandard avatar
Echomimic V3echomimic-v3Face animation
Stable Avatarstable-avatarStable talking head

Prediction Flow

  1. Check model GET https://api.eachlabs.ai/v1/model?slug=<slug> — validates the model exists and returns the request_schema with exact input parameters. Always do this before creating a prediction to ensure correct inputs.
  2. POST https://api.eachlabs.ai/v1/prediction with model slug, version "0.0.1", and input parameters matching the schema
  3. Poll GET https://api.eachlabs.ai/v1/prediction/{id} until status is "success" or "failed"
  4. Extract the output video URL from the response

Examples

Image-to-Video with Wan v2.6 Flash
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "wan-v2-6-image-to-video-flash",
    "version": "0.0.1",
    "input": {
      "image_url": "https://example.com/photo.jpg",
      "prompt": "The person turns to face the camera and smiles",
      "duration": "5",
      "resolution": "1080p"
    }
  }'
Video Transition with Pixverse
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "pixverse-v5-6-transition",
    "version": "0.0.1",
    "input": {
      "prompt": "Smooth morphing transition between the two images",
      "first_image_url": "https://example.com/start.jpg",
      "end_image_url": "https://example.com/end.jpg",
      "duration": "5",
      "resolution": "720p"
    }
  }'
Motion Control with Kling v2.6
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "kling-v2-6-pro-motion-control",
    "version": "0.0.1",
    "input": {
      "image_url": "https://example.com/character.jpg",
      "video_url": "https://example.com/dance-reference.mp4",
      "character_orientation": "video"
    }
  }'
Talking Head with Omnihuman
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "bytedance-omnihuman-v1-5",
    "version": "0.0.1",
    "input": {
      "image_url": "https://example.com/portrait.jpg",
      "audio_url": "https://example.com/speech.mp3",
      "resolution": "1080p"
    }
  }'

Prompt Tips

  • Be specific about motion: "camera slowly pans left" rather than "nice camera movement"
  • Include style keywords: "cinematic", "anime", "3D animation", "cyberpunk"
  • Describe timing: "slow motion", "time-lapse", "fast-paced"
  • For image-to-video, describe what should change from the static image
  • Use negative prompts to avoid unwanted elements (where supported)

Parameter Reference

See references/MODELS.md for complete parameter details for each model.

Comments

Markdown supported