Downloads · 30 days
1.4K
49% of all-time downloads
yijunwang2/krea2-anygles
krea2-anygles is a image-to-image model from yijunwang2. Use it when you need one image transformed into another. It is set up for diffusers. The card lists the license as other.
Krea 2 Anygles turns one human image into a new camera view while retaining the person, pose, clothing, visual style, and surrounding scene. It controls horizontal orbit, camera elevation, and camera distance with an…
Downloads · 30 days
1.4K
49% of all-time downloads
All-time downloads
2.8K
Public
Repo size
2 GB
Likes
23
Public
Click a slice to open those files.
.safetensors229 MB · 61%
From the Hugging Face model README
Krea 2 Anygles turns one human image into a new camera view while retaining the person, pose, clothing, visual style, and surrounding scene. It controls horizontal orbit, camera elevation, and camera distance with an aligned 3D human normal and a short camera instruction.
ComfyUI nodes and workflow | Interactive Space | Krea 2 functional adapters collection
To our knowledge, this is the first publicly released Krea 2 LoRA focused on controllable human camera viewpoints. This is a scoped community claim based on searching public Krea 2 model repositories at release preparation time; it does not cover private or unreleased work.
Original-source independent generation. Each animation keeps the source fixed on the left and shows independently generated camera views on the right. Every frame starts from the original source image rather than the preceding output.
<table width="100%"> <tr> <td width="50%"><strong>Waterfront studio · photography</strong><br><img src="showcase/01_waterfront_photo.gif" alt="Waterfront photographic horizontal orbit" width="100%"></td> <td width="50%"><strong>Market square · painterly</strong><br><img src="showcase/02_market_painting.gif" alt="Painterly market horizontal orbit" width="100%"></td> </tr> <tr> <td><strong>Museum terrace · stylized 3D</strong><br><img src="showcase/03_museum_3d.gif" alt="Stylized 3D horizontal orbit" width="100%"></td> <td><strong>Mountain station · anime</strong><br><img src="showcase/04_mountain_anime.gif" alt="Anime horizontal orbit" width="100%"></td> </tr> </table>Azimuth, elevation, and camera distance move together along one smooth closed path. Every frame is generated independently from the original source image; the animation does not feed generated frames back into the model.
<img src="showcase/05_multi_axis_trajectory.gif" alt="Anygles combined azimuth elevation and distance trajectory" width="100%">Important: The Hugging Face auto-generated Diffusers snippet and ordinary LoRA loaders do not provide the spatial-control input required by this model. Use the included
example.pyand custom pipeline, or the linked Anygles ComfyUI nodes and workflow.
The following animations compare the same source requests. Left: Qwen. The
baseline uses Qwen/Qwen-Image-Edit-2511 with
fal/Qwen-Image-Edit-2511-Multiple-Angles-LoRA and
Qwen-Image-Edit-2511-Lightning-4steps-V1.0, run with an INT8 ConvRot DiT,
FP8 Qwen2.5-VL 7B, four Euler/simple steps, CFG 1, shift 3.1, and angle-LoRA
strength 1.0. Right: Anygles.
Comparison protocol. Both methods receive the original source independently for every generated frame. Every displayed output is the first result from its frozen prompt and seed; there are no retries, interpolated frames, or selected replacements. Qwen uses its documented native camera descriptors plus a literal relative camera instruction for intermediate values. Qwen does not receive Anygles' target normal, so this is a practical feature comparison rather than an identical-conditioning ablation.
Reference-control ranges. The included tools currently expose elevation from −60° to +60° and camera distance from 0.6× to 1.8× as practical operating ranges. These are interface guardrails, not claimed hard limits of the adapter. The release sweeps shown above cover elevation from −45° to +45° and distance from 1.35× (farther) to 0.78× (closer). The combined trajectory demonstrates all three controls changing together rather than treating each axis only in isolation.
The current release supports one clear human subject. It is not designed for animals, general objects, crowds, or exact reconstruction of a complete 3D scene.
Install the custom nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/alexw5702-afk/krea2-anygles
cd krea2-anygles
pip install -r requirements.txt
Download the human-mesh checkpoint after accepting its SAM License:
hf download facebook/sam-3d-body-dinov3 \
--local-dir ComfyUI/models/sam3d_body
Place krea2_anygles_rank32.safetensors in ComfyUI/models/loras, restart
ComfyUI, and drag
krea2_anygles_workflow.json
onto the canvas.
krea2_turbo_int8_convrot.safetensors
in ComfyUI/models/diffusion_models.qwen3vl_4b_fp8_scaled.safetensors
in ComfyUI/models/text_encoders.qwen_image_vae.safetensors
in ComfyUI/models/vae.ComfyUI/models/loras.facebook/sam-3d-body-dinov3 under ComfyUI/models/sam3d_body.The workflow wiring is:
Load Image -> Anygles Camera -> Anygles Encode
Load Diffusion Model -> Anygles Load LoRA -> Anygles Model Patch -> KSampler
Anygles Encode.positive -> KSampler.positive
Anygles Camera.width/height -> EmptySD3LatentImage -> KSampler.latent_image
KSampler -> VAE Decode -> Save Image
Recommended settings: 8 steps, Euler, simple scheduler, CFG 1.0, adapter strength 1.0, VLM reference enabled, and reference K/V cache enabled. SAM 3D Body and Krea 2 execute sequentially so their full models do not need to remain on the GPU at the same time.
Anygles uses two aligned inputs:
The model-facing camera instruction uses the same left-only relative-angle
representation as training. For example, a UI request for +50° to the right
is represented by the equivalent 310° move to the left:
Same figure. Move the camera 310 degrees to the left relative to the input view.
The signed UI remains intuitive: negative yaw moves left and positive yaw moves right. Only the internal text is normalized to the training convention. Elevation and distance instructions are added only when requested. Optional user text is appended unchanged.
| Setting | Value |
|---|---|
| Inference base | krea/Krea-2-Turbo |
| Steps | 8 |
| Guidance scale | 0.0 in Diffusers / CFG 1.0 in ComfyUI |
| LoRA scale | 1.0 |
| Reference maximum edge | 384 px |
| Source reference in Qwen3-VL | enabled |
| Reference K/V cache | enabled |
| Spatial control | full-canvas target normal |
Install the dependencies and authenticate for the gated base models:
pip install -r requirements.txt
hf auth login
# SAM 3D Body inference source (tested revision shown for reproducibility)
git clone https://github.com/facebookresearch/sam-3d-body.git
git -C sam-3d-body checkout b5c765a0d89d789985e186d396315e7590887b94
# After accepting the SAM 3D Body model license:
hf download facebook/sam-3d-body-dinov3 \
--local-dir checkpoints/sam-3d-body-dinov3
Accept the access terms for both krea/Krea-2-Turbo and
facebook/sam-3d-body-dinov3 before downloading. The included requirements
cover the dependency set used by the normal-preparation path; the SAM 3D Body
source and its gated checkpoint remain separate downloads under the SAM
License.
Prepare one aligned target normal:
python prepare_normal.py \
--source person.webp \
--output target_normal.png \
--yaw 50 \
--elevation 0 \
--distance 1.0 \
--sam3d-root ./sam-3d-body \
--checkpoint ./checkpoints/sam-3d-body-dinov3/model.ckpt \
--mhr-model ./checkpoints/sam-3d-body-dinov3/assets/mhr_model.pt
Generate one image:
python example.py \
--source person.webp \
--normal target_normal.png \
--output result.webp \
--yaw 50 \
--elevation 0 \
--distance 1.0 \
--prompt "soft afternoon light" \
--steps 8 \
--seed 42
The showcase sources are synthetic original-character images generated from the unmodified Krea 2 base model. They do not depict real identities, brands, or existing fictional characters. The retained sequences use fixed first attempts. One weaker source from the original eight-source presentation pool is omitted as a complete sequence; no frame inside a retained sequence was replaced or selected.
Use reference images only when you have the subject's consent or another lawful basis. Do not use this model for deceptive impersonation, fraud, harassment, non-consensual intimate imagery, biometric identification, or misleading political or media content.
Deployments must follow the Krea 2 Acceptable Use Policy, implement appropriate content moderation, and disclose AI-generated content where required.
The Anygles weights are a derivative of Krea 2 Turbo and are distributed under
the Krea 2 Community License Agreement.
LICENSE.pdf and NOTICE are included. Pipeline and helper code are provided
under Apache License 2.0 in PIPELINE_LICENSE.
Automatic normal preparation uses Meta's SAM 3D Body as a separate dependency
under the SAM License; SAM model weights are not included. The ComfyUI
reference-attention path includes the attribution chain documented in its
NOTICE.
This is an unofficial community release and is not endorsed by Krea, Meta, Qwen, fal, or Ostris. Training data and training infrastructure are not distributed.