Reference Video
wan2.7-r2v
Wan 2.7 reference-to-video generation.
Commercial useAsync APIfrom 110 Credits
API reference
Submit this model to the capability endpoint, then poll the returned job until it is terminal. Only the parameters below are accepted.
Required headers
Authorization: Bearer $ARTANY_API_KEY Content-Type: application/json Idempotency-Key: unique-request-id
Use a new 8–128 character Idempotency-Key for each logical generation. Retrying the same request with the same key will not double-charge.
Request body
{
"model": "wan2.7-r2v",
"prompt": "The person walks through a busy city street",
"image_with_roles": [
{
"url": "https://example.com/reference.jpg",
"role": "reference_image"
}
],
"resolution": "1080P",
"duration": 5,
"size": "16:9",
"prompt_extend": true
}Parameters
| Field | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| model | string | Yes | Stable Artany public model ID. | wan2.7-r2v | This exact public model ID. |
| seed | integer | No | Optional deterministic seed for reproducing a generation when the provider supports it. | — | Range: 0–∞ |
| size | string | No | Requested output image aspect ratio or canvas size. Available values are model-specific. | "16:9" | Allowed: 16:9, 9:16, 1:1, 4:3, 3:4 |
| prompt | string | Yes | Natural-language instruction describing the desired image or video. Include subject, setting, composition, motion, lighting, and style as needed. | — | Length: 0–5000 |
| duration | integer | No | Target generated video length in seconds. Available durations are model-specific and can affect price. | 5 | Range: 2–15 |
| resolution | string | No | Requested output quality tier. Available values are model-specific and can affect price. | "1080P" | Allowed: 720P, 1080P |
| video_urls | array (string items) | No | Public video URLs used as the source or reference video for a supported video workflow. | — | Items: 1–5 |
| prompt_extend | boolean | No | Whether to let the model expand the prompt before generation. | true | — |
| negative_prompt | string | No | Elements, styles, or visual characteristics to avoid in the generated result. | — | Length: 1–500 |
| image_with_roles | array (object items) | No | Role-labelled reference images used by a model that supports character or subject consistency. | — | Items: 1–5 |
Accepted response
The submit endpoint returns HTTP 202 with a normalized job. Poll GET /v1/jobs/{jobId} until the status is terminal.
{
"id": "job_…",
"object": "generation.job",
"model": "wan2.7-r2v",
"status": "queued",
"progress": 0,
"output": null,
"error": null,
"billing": {
"estimated_credits": "110",
"frozen_credits": "…",
"charged_credits": "0",
"state": "frozen",
"price_version": "2026-07-18.picverse-parity"
},
"created_at": "2026-07-21T00:00:00.000Z",
"completed_at": null
}Lifecycle and failures
- queued / running — wait and poll again.
- succeeded — read output URLs from
output; the actual charge is settled. - failed / canceled — inspect
error; frozen Credits are released. - For a schema error, the API returns an error object and identifies the invalid field in
paramwhen applicable.
Input
Runs are billed to your Credits at the listed price — same engine as the public API.
Output
Run the model to see results here
Integrate in minutes
curl -X POST "https://api.artany.ai/v1/videos/generations" \
-H "Authorization: Bearer $ARTANY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: unique-request-id" \
-d '{"model":"wan2.7-r2v","prompt":"The person walks through a busy city street","image_with_roles":[{"url":"https://example.com/reference.jpg","role":"reference_image"}],"resolution":"1080P","duration":5,"size":"16:9","prompt_extend":true}'
# poll until terminal
curl "https://api.artany.ai/v1/jobs/{job_id}" \
-H "Authorization: Bearer $ARTANY_API_KEY"