Skip to content

e-dream-ai/engines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Engines

This directory contains Python-based engines and batch processing scripts for the E-Dream GPU system.

Setup

  1. Install Dependencies: Ensure you have the required packages installed, including the edream_sdk.

    cd engines
    pip install -r requirements.txt
  2. Environment Variables: Create a .env file in the engines directory (or use the one in the project root) with the following credentials:

    BACKEND_URL=https://api.infinidream.ai/api/v1
    API_KEY=your_api_key_here
    

Batch Processing Scripts

These scripts are located in engines/scripts/ and use the edream_sdk to interact with the API directly.

1. Wan Image-to-Video Batch (run_wan_i2v_batch.py)

Generates videos from a playlist of image dreams using the Wan I2V algorithm with various prompt combinations.

Configuration (engines/configs/job.json):

{
    "image_playlist_uuid": "source-image-playlist-uuid",
    "prompt": "A cinematic shot of...",
    "combos": ["in a cyberpunk city", "underwater"],
    "playlist_uuid": "optional-existing-playlist-uuid",
    "playlist": {
        "name": "My Batch Videos",
        "description": "Generated from batch script",
        "nsfw": false
    },
    "size": "1280x720",
    "duration": 5,
    "num_inference_steps": 30
}

Usage:

python3 scripts/run_wan_i2v_batch.py

2. Uprez Batch (run_uprez_batch.py)

Upscales video dreams from a source playlist and adds them to an output playlist. It tracks processed videos to avoid duplication.

Configuration (engines/configs/uprez-config.json):

{
    "playlist_uuid": "source-playlist-uuid",
    "tracking": {
        "marker": "uprez",
        "existing_playlist_uuid": "optional-output-playlist-uuid"
    },
    "output_playlist": {
        "name": "Uprezed Videos",
        "description": "Upscaled versions"
    },
    "uprez_config": {
        "upscale_factor": 2,
        "quality": "high"
    }
}

Usage:

python3 scripts/run_uprez_batch.py

3. Qwen Image Batch (run_qwen_image_batch.py)

Generates multiple images from a prompt and downloads them locally.

Configuration (engines/configs/qwen-image-config.json):

{
    "prompt": "A futuristic cityscape...",
    "num_generations": 5,
    "output_folder": "generated_images",
    "size": "1024x1024",
    "seed": -1
}

Example (use an existing playlist):

{
    "prompt": "A futuristic cityscape...",
    "num_generations": 5,
    "output_folder": "generated_images",
    "size": "1024x1024",
    "seed": -1,
    "playlist_uuid": "existing-playlist-uuid"
}

Example (create a new playlist):

{
    "prompt": "A futuristic cityscape...",
    "num_generations": 5,
    "output_folder": "generated_images",
    "size": "1024x1024",
    "seed": -1,
    "playlist": {
        "name": "Qwen Image Batch",
        "description": "Generated from qwen image batch script",
        "nsfw": false
    }
}

Usage:

python3 scripts/run_qwen_image_batch.py

4. LTX Image-to-Video Batch (run_ltx_i2v_batch.py)

Generates videos from a playlist of image dreams using LTX 2.3.

Configuration (engines/configs/ltx-i2v-config.json):

Single image:

{
    "image_uuid": "your-dream-uuid",
    "prompt": "A cinematic shot of...",
    "duration": 5,
    "seed": -1,
    "playlist": { "name": "LTX I2V Output", "nsfw": false }
}

Batch from playlist:

{
    "image_playlist_uuid": "source-image-playlist-uuid",
    "prompt": "A cinematic shot of...",
    "combos": ["in a cyberpunk city", "underwater"],
    "playlist_uuid": "optional-existing-playlist-uuid",
    "playlist": { "name": "LTX I2V Batch Output", "nsfw": false },
    "duration": 5,
    "seed": -1,
    "lora": "ltx-2-19b-lora-camera-control-static.safetensors",
    "lora_strength": 0.4
}

Usage:

python3 scripts/run_ltx_i2v_batch.py

5. Disco Diffusion Batch (run_disco_batch.py)

Generates images or animations using Disco Diffusion v5.2 (CLIP-guided diffusion with optional optical-flow warp).

Configuration (engines/configs/disco-config.json):

Single image:

{
    "batch_name": "DiscoTest",
    "animation_mode": "None",
    "width": 512,
    "height": 512,
    "steps": 50,
    "skip_steps": 10,
    "clip_guidance_scale": 5000,
    "cutn_batches": 1,
    "clip_vit_b32": true,
    "seed": 1337,
    "text_prompts": {
        "0": ["A beautiful painting of a cosmic nebula, trending on artstation"]
    },
    "playlist": { "name": "Disco Output", "nsfw": false }
}

2D animation (dream zoom):

{
    "batch_name": "DreamZoom",
    "animation_mode": "2D",
    "max_frames": 24,
    "fps": 6,
    "zoom": "0:(1.02)",
    "angle": "0:(0)",
    "frames_skip_steps": "70%",
    "steps": 50,
    "clip_guidance_scale": 3000,
    "cutn_batches": 1,
    "clip_vit_b32": true,
    "seed": 42,
    "text_prompts": {
        "0": ["A cosmic nebula, trending on artstation, by Greg Rutkowski"]
    },
    "playlist": { "name": "Disco Output", "nsfw": false }
}

Video Input (optical-flow stylization of a source video):

{
    "batch_name": "VideoWarp",
    "animation_mode": "Video Input",
    "flow_warp": true,
    "flow_blend": 0.5,
    "check_consistency": true,
    "source_dream_uuid": "your-source-video-dream-uuid",
    "steps": 50,
    "clip_guidance_scale": 3000,
    "cutn_batches": 1,
    "clip_vit_b32": true,
    "text_prompts": {
        "0": ["A painting in the style of Van Gogh, trending on artstation"]
    },
    "playlist": { "name": "Disco Output", "nsfw": false }
}

Animation modes: None (single image), 2D (zoom/rotate/translate), 3D (depth-warped), Video Input (optical-flow warp)

Usage:

python3 scripts/run_disco_batch.py

6. Nvidia VSR Batch (run_nvidia_vsr_batch.py)

Upscales video dreams using Nvidia RTX Video Super Resolution. Tracks processed videos to avoid duplication.

Configuration (engines/configs/nvidia-vsr-config.json):

Single video:

{
    "video_uuid": "your-dream-uuid",
    "output_playlist": { "name": "Nvidia VSR Output", "nsfw": false },
    "vsr_config": { "upscale_factor": 2, "quality": "ULTRA" },
    "tracking": { "marker": "nvidia-vsr" }
}

Batch from playlist:

{
    "playlist_uuid": "source-playlist-uuid",
    "output_playlist": { "name": "Nvidia VSR Output", "nsfw": false },
    "vsr_config": { "upscale_factor": 2, "quality": "ULTRA" },
    "tracking": {
        "marker": "nvidia-vsr",
        "existing_playlist_uuid": "optional-output-playlist-uuid"
    }
}

Valid quality options: LOW, MEDIUM, HIGH, ULTRA

Usage:

python3 scripts/run_nvidia_vsr_batch.py

6. Z-Image Turbo Batch (run_z_image_turbo_batch.py)

Generates images using the Z-Image Turbo model. Supports text-to-image and image-to-image generation.

Configuration (engines/configs/z-image-turbo-config.json):

{
    "prompt": "a beautiful landscape with mountains and a lake",
    "num_generations": 2,
    "output_folder": "generated-images",
    "output_filename": "z-image-turbo",
    "size": "1024*1024",
    "seed": -1,
    "output_format": "png",
    "enable_safety_checker": true,
    "playlist": {
        "name": "Z-Image Turbo Batch",
        "description": "Generated from z-image-turbo batch script",
        "nsfw": false
    }
}

For image-to-image, add image (URL) and optionally strength (0.0–1.0):

{
    "prompt": "a futuristic version of this scene",
    "image": "https://example.com/input.jpg",
    "strength": 0.8,
    "output_format": "jpeg"
}

Valid size options: 512*512, 768*768, 1024*1024, 1280*1280, 1024*768, 768*1024, 1280*720, 720*1280

Valid output_format options: png, jpeg, webp

Usage:

python3 scripts/run_z_image_turbo_batch.py

About

use the python api to create playlists from prompts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages