Seedream 5.0 Pro अब लाइव है | Image Generator में आज़माएं →
साइन इन

Qwen Image Edit Multiple Angles

wavespeed-ai /

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.

image-to-image
इनपुट

निष्क्रिय

$0.025प्रति रन·~40 / $1

आगे:

उदाहरणसभी देखें

संबंधित मॉडल

README

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

Related Models

नोट:यह वेबसाइट तृतीय पक्षों द्वारा प्रदान किए गए AI मॉडलों का उपयोग करती है।

Qwen Image Edit Multiple Angles API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen-image/edit-multiple-angles with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Qwen Image Edit Multiple Angles below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "images": [
        "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
    ],
    "horizontal_angle": 0,
    "vertical_angle": 0,
    "distance": 1,
    "seed": -1,
    "output_format": "jpeg"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen-image/edit-multiple-angles" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen-image/edit-multiple-angles";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "images": [
                "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
        ],
        "horizontal_angle": 0,
        "vertical_angle": 0,
        "distance": 1,
        "seed": -1,
        "output_format": "jpeg"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "images": [
        "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
    ],
    "horizontal_angle": 0,
    "vertical_angle": 0,
    "distance": 1,
    "seed": -1,
    "output_format": "jpeg"
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen-image/edit-multiple-angles", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Qwen Image Edit Multiple Angles API — Frequently asked questions

What is the Qwen Image Edit Multiple Angles API?

Qwen Image Edit Multiple Angles is a WaveSpeedAI model for image editing, exposed as a REST API 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. You can call it programmatically or try it from the playground above.

How do I call the Qwen Image Edit Multiple Angles API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/wavespeed-ai/qwen-image-edit-multiple-angles.

How much does Qwen Image Edit Multiple Angles cost per run?

Qwen Image Edit Multiple Angles starts at $0.025 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Qwen Image Edit Multiple Angles accept?

Key inputs: `prompt`, `images`, `seed`, `distance`, `enable_base64_output`, `enable_sync_mode`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/wavespeed-ai/qwen-image-edit-multiple-angles.

How long does Qwen Image Edit Multiple Angles take to generate?

Median end-to-end generation time on WaveSpeedAI is around 9 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Qwen Image Edit Multiple Angles outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (WaveSpeedAI). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Qwen Image Edit Multiple Angles | Fast Image Editing API | WaveSpeedAI