ShuaixinHuang/image-multiple-angles-3d-camera

🎬 Generate images from any camera viewpoint via 3D interactive control. Drag the camera in 3D space or use sliders to set azimuth/elevation/distance, then generate. Built with Three.js + Gradio, bilingual ZH/EN UI.

What it solves

This project provides a free, open-source alternative to paid AI camera viewpoint conversion tools. It allows users to generate new images of a subject from different camera angles (azimuth, elevation, and distance) based on an uploaded image, removing the financial barrier to accessing multi-angle image generation.

How it works

The application uses a Gradio-based web interface integrated with a Three.js 3D camera controller. Users can adjust the camera's position using draggable 3D handles or sliders, which then translate these coordinates into prompts for an image editing model. By default, it connects to the Qwen-Image-Edit-Plus backend via API, though the backend is pluggable and can be replaced with other image editing models in core.py. It supports both API-based calls (no GPU required) and local deployment using NVIDIA GPUs with specific LoRA weights for angle control.

Who it’s for

  • Content creators and designers who need consistent multi-angle views of a subject.
  • Developers looking for a pluggable framework for 3D-controlled image generation.
  • Users who want a free, self-hostable tool for viewpoint conversion without relying on paid subscriptions.

Highlights

  • 3D Interactive Control: A Three.js widget allows users to drag handles to visually set the camera angle.
  • Preset Viewpoints: One-click shortcuts for common angles like Front, Right, Back, Left, Aerial, and Close-up.
  • Batch Generation: Ability to select and generate multiple viewpoints simultaneously.
  • Live Preview: Uploaded images are textured onto a 3D plane in real-time for a "what you see is what you get" experience.
  • Bilingual Support: Built-in support for Chinese and English interfaces.

Related

  • Project
  • Project
  • Project
  • Project
  • Project