Browse ModelsWavespeed AIQwen Image Edit Multiple Angles

Qwen Image Edit Multiple Angles

Qwen Image Edit Multiple Angles

Playground

Try it on WavespeedAI!

Generate specific camera angles from a single image using a 96-pose camera system. Control horizontal rotation, vertical tilt, and zoom to create front, side, back views and more. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Qwen-Image-Edit Multiple Angles | AI Multi-View Image Generation

Qwen-Image-Edit Multiple Angles transforms a single input image into any camera angle using an advanced 96-pose camera system. Generate front views, side profiles, back views, bird’s-eye shots, and dramatic low angles — all from one photo.

Perfect for e-commerce product photography, 3D asset creation, character design, virtual try-on, and creative content generation.


Why Choose Multiple Angles?

  • Single Image to Multi-View Upload one photo and generate any angle — no need for multiple photo shoots or 3D modeling.

  • 96-Pose Camera System 8 horizontal angles × 4 vertical angles × 3 distance levels = comprehensive viewpoint coverage.

  • Intuitive Angle Control Specify angles in degrees — the system automatically optimizes for the best results.

  • Production-Ready API No cold starts, fast inference, and predictable pricing for seamless integration.


Camera System Reference

Horizontal Angle (Azimuth) — Rotate Around Subject

AngleView
Front view
45°Front-right quarter
90°Right side profile
135°Back-right quarter
180°Back view
225°Back-left quarter
270°Left side profile
315°Front-left quarter

Accepts any value 0-359° and rounds to the nearest optimal angle.

Vertical Angle (Elevation) — Camera Height

AngleShot Type
-30°Low-angle (looking up)
Eye-level (standard)
30°Elevated (slightly above)
60°High-angle (looking down)

Accepts any value -30° to 60° and rounds to the nearest optimal angle.

Distance — Zoom Level

ValueShot Type
0Close-up
1Medium shot
2Wide shot

Parameters

ParameterTypeRequiredDefaultDescription
imagesarrayYes-Input image(s). Up to 3 images.
horizontal_angleintegerNo0Rotation around subject (0-359°).
vertical_angleintegerNo0Camera height (-30° to 60°).
distanceintegerNo1Zoom level (0, 1, or 2).
promptstringNo-Optional guidance prompt.
seedintegerNo-1Random seed (-1 for random).
output_formatstringNo”jpeg""jpeg”, “png”, or “webp”.

Use Cases

E-Commerce Product Views

Generate 360° product views from a single photo for online stores.

{
  "images": ["https://example.com/product.jpg"],
  "horizontal_angle": 90,
  "vertical_angle": 0,
  "distance": 1
}

Character Design & Concept Art

Create character turnarounds for animation and game development.

{
  "images": ["https://example.com/character.jpg"],
  "horizontal_angle": 180,
  "vertical_angle": 0,
  "distance": 1
}

Dramatic Photography Effects

Generate cinematic angles for creative content.

{
  "images": ["https://example.com/portrait.jpg"],
  "horizontal_angle": 45,
  "vertical_angle": -30,
  "distance": 0
}

Aerial & Bird’s-Eye Views

Create top-down perspectives for real estate or product layouts.

{
  "images": ["https://example.com/scene.jpg"],
  "horizontal_angle": 0,
  "vertical_angle": 60,
  "distance": 2
}

Best Practices

  1. Use clear, well-lit input images for best multi-angle results.
  2. Start with eye-level (0°) vertical angle for natural-looking outputs.
  3. Use medium distance (1) as baseline, then adjust for tighter or wider framing.
  4. Add prompts for additional style guidance beyond angle transformation.
  5. Test with 90° or 180° horizontal rotations first to understand subject handling.

Pricing

$0.025 per generated image


Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen-image/edit-multiple-angles" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "horizontal_angle": 0,
    "vertical_angle": 0,
    "distance": 1,
    "seed": -1,
    "output_format": "jpeg",
    "enable_base64_output": false,
    "enable_sync_mode": false
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagesarrayYes[]1 ~ 3 itemsThe input images. A maximum of 3 reference images can be uploaded.
horizontal_angleintegerNo-0 ~ 359Horizontal rotation angle (azimuth) in degrees. Controls the camera's horizontal position around the subject. Values are rounded to the nearest valid angle: 0 (front), 45 (front-right), 90 (right), 135 (back-right), 180 (back), 225 (back-left), 270 (left), 315 (front-left).
vertical_angleintegerNo--30 ~ 60Vertical tilt angle (elevation) in degrees. Controls the camera's vertical position. Values are rounded to the nearest valid angle: -30 (low angle), 0 (eye level), 30 (elevated), 60 (high angle).
distanceintegerNo10 ~ 2Camera distance/zoom level. 0 = close-up, 1 = medium shot, 2 = wide shot.
promptstringNo-Optional additional prompt to guide the generation. This is appended to the angle prompt.
sizestringNo-256 ~ 1536 per dimensionThe size of the generated media in pixels (width*height).
seedintegerNo-1-1 ~ 2147483647The random seed to use for the generation. -1 means a random seed will be used.
output_formatstringNojpegjpeg, png, webpThe format of the output image.
enable_base64_outputbooleanNofalse-If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API.
enable_sync_modebooleanNofalse-If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.