Skip to main content
POST
https://gptproto.com
/
api
/
v3
/
vidu
/
viduq2-pro-fast
/
start-end-framed
viduq2-pro-fast (Start End Frame)
curl --request POST \
  --url https://gptproto.com/api/v3/vidu/viduq2-pro-fast/start-end-framed

Authentication

  1. Sign up for a GPTProto account at https://gptproto.com
  2. Navigate to the API Keys section in your dashboard
  3. Generate a new API key (sk-xxxxx)
  4. Copy and securely store your API key For authentication details, please refer to the Authentication section.

Initiate Request

curl --location 'https://gptproto.com/api/v3/vidu/viduq2-pro-fast/start-end-framed' \
--header 'Authorization: GPTPROTO_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "prompt": "The dog ran forward, and finally turned into a Ghibli style.",
  "image": "https://oss.gptproto.com/2025/11/12/1683f22c967d43a5b7c1dac9b50a1fe3.png",
  "last_image": "https://oss.gptproto.com/2025/11/12/39c41d8e0421458ba848f1aaea47b4ac.png",
  "duration": 5,
  "seed": 1,
  "resolution": "720p"
}'

Query Result

If the request that generated your content includes the parameter enable_sync_mode set to true (some models do not support this parameter, but you still need to query the result by id), you must call the Query Result endpoint to retrieve the final output.
curl -X GET "https://gptproto.com/api/v3/predictions/{id}/result" \
  -H "Authorization: GPTPROTO_API_KEY" \
  -H "Content-Type: application/json"
After submitting your prediction request, the response will contain the id you need.
You can find it in either:
  • data.id – the unique identifier of the prediction
  • data.urls[0].get – a ready-to-use GET URL that already embeds the id
{
    "data": {
        "id": "abc",
        "model": "model_name",
        "outputs": [],
        "urls": {
            "get": "https://gptproto.com/api/v3/predictions/abc/result"
        },
        "status": "completed",
        "error": null,
        "executionTime": 0,
        "timings": {
            "inference": 0
        },
        "has_nsfw_contents": [],
        "created_at": "2026-01-01 00:00:00"
    },
    "message": "success",
    "code": 200
}

Parameters

Path Parameters

Endpoint: https://gptproto.com/api/v3/vidu/{model}/{scene}
Body parameters may vary depending on the scene. Incorrect scene selection may cause parameters to fail. Please choose the appropriate scene based on your actual needs.
sceneexampleAvailable Models
text-to-videohttps://gptproto.com/api/v3/vidu/{model}/text-to-videoviduq2
viduq3-pro
reference-to-videohttps://gptproto.com/api/v3/vidu/{model}/reference-to-videoviduq2
image-to-videohttps://gptproto.com/api/v3/vidu/{model}/image-to-videoviduq3-pro
viduq2-pro-fast
viduq2-pro
viduq2-turbo
start-end-framedhttps://gptproto.com/api/v3/vidu/{model}/start-end-framedviduq2-pro-fast
viduq2-pro
viduq2-turbo

Core Parameters

Parameter support varies by model and scene. See the Model Scene Compatibility Matrix for detailed information about which parameters are supported for each model and scene combination.
ParameterTypeRequiredDefaultRangeDescription
promptstring✅ Yes--The positive prompt for the generation.
resolutionstring❌ No720p540p, 720p, 1080pThe resolution of the generated media.
durationnumber❌ No51 ~ 10The duration of the generated media in seconds.
aspect_ratiostring❌ No4:33:4, 4:3The aspect ratio of the generated media.
bgmboolean❌ Nofalsetrue, falseThe background music for generating the output.
audioboolean❌ Nofalsetrue, falseThe audio for generating the output.
seedinteger❌ No11 ~ 2147483647The random seed to use for the generation. 1 means a random seed will be used.

image input Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestring✅ Yes--The start image for generating the output.
last_imagestring✅ Yes--The end image for generating the output.
subjectsarray✅ Yes-1~7Information about the subjects in the images.
>>subjects.idstring✅ Yes--Usable in prompts via @subjectId.
>>subjects.imagesarray✅ Yes-1~3URLs of images corresponding to the subject. Each subject supports up to 3 images.
>>subjects.voice_idstring❌ No--Used to determine the voice character in the video. The system will automatically recommend a suitable voice, and optional values can be found in the Voice List. If a voice_id is specified, the audio parameter must be set to true.

Model Scene Compatibility Matrix

The following table shows which parameters are supported for each model and scene combination. D = Default value, R = Range of supported values.
Modeltext-to-videoreference-to-videoimage-to-videostart-end-framed
viduq2duration: D=5, R=1-10
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: D=16:9, R=16:9/9:16/3:4/4:3/1:1
audio: Not effective
bgm: D=false, not effective when duration=9-10
duration: D=5, R=1-10
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: D=16:9, R=any ratio supported
audio: D=false
bgm: Not effective
❌ Not supported❌ Not supported
viduq2-pro-fast❌ Not supported❌ Not supportedduration: D=5, R=1-10
resolution: D=720p, R=720p/1080p
aspect_ratio: Not effective
audio: D=false
bgm: D=false, not effective when duration=9-10
duration: D=5, R=1-8
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: Not effective
audio: Not effective
bgm: D=false, not effective when duration=9-10
viduq2-turbo❌ Not supported❌ Not supportedduration: D=5, R=1-10
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: Not effective
audio: D=false
bgm: D=false, not effective when duration=9-10
duration: D=5, R=1-8
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: Not effective
audio: Not effective
bgm: D=false, not effective when duration=9-10
viduq2-pro❌ Not supported❌ Not supportedduration: D=5, R=1-10
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: Not effective
audio: D=false
bgm: D=false, not effective when duration=9-10
duration: D=5, R=1-8
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: Not effective
audio: Not effective
bgm: D=false, not effective when duration=9-10
viduq3-produration: D=5, R=1-16
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: D=16:9, R=16:9/9:16/3:4/4:3/1:1
audio: D=true
bgm: Not effective
❌ Not supportedduration: D=5, R=1-16
resolution: D=720p, R=540p/720p/1080p
aspect_ratio: Not effective
audio: D=true
bgm: Not effective
❌ Not supported

Key Highlights

  • viduq2: Supports text-to-video and reference-to-video scenarios only
  • viduq2-pro/pro-fast/turbo: Specialized for image-to-video and start-end-framed modes
  • viduq3-pro: Most versatile, supports text-to-video and image-to-video with audio support and up to 16 seconds duration

Error Codes

Common Error Codes

Error CodeError NameDescription
401UnauthorizedAPI key is missing or invalid
403ForbiddenYour API key doesn’t have permission to access this resource, or insufficient balance for the requested operation
429Too Many RequestsYou’ve exceeded your rate limit
500Internal server errorAn internal server error occurred
503Content policy violationContent blocked due to safety concerns (actual status code is 400)