Veo 3.1 Image to Video
Ενσωμάτωση
veo3.1/image-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/veo3.1/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/veo3.1/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": False,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veo3.1/image-to-video", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/el/developers/docs/mcp)
claude mcp add --transport http doitong-models https://vit.doitong.com/api/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "veo3.1/image-to-video",
"input": {
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}
}
Καλέστε το μοντέλο Veo 3.1 Image to Video (veo3.1/image-to-video) μέσω του Doitong API. Τεκμηρίωση για πράκτορες: https://doitong.com/el/developers/models/veo3.1/image-to-video.md
POST https://vit.doitong.com/api/v1/run/veo3.1/image-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}
Αν η κατάσταση της απόκρισης είναι "queued" ή "running", εκτελέστε δημοσκόπηση με GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 μέχρι να γίνει "succeeded"· τα αρχεία βρίσκονται στο outputs[].url. Το POST https://vit.doitong.com/api/v1/quote/veo3.1/image-to-video με το ίδιο σώμα επιστρέφει την ακριβή τιμή πριν από την εκτέλεση.
Αυτό το αίτημα: 0,80 $ 800 πιστώσεις API Εκτέλεση σε αυτήν τη σελίδα
Το νέο σας κλειδί API. Εμφανίζεται μόνο τώρα και βρίσκεται ήδη στον κώδικα και στο παρακάτω πεδίο κλειδιού API. Κρατήστε το μυστικό: μην το εισάγετε ποτέ σε κώδικα που εκτελείται σε πρόγραμμα περιήγησης.
Παραδείγματα
ΠροτροπήThe camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)
Δημιουργία αιτήματος
Τα στοιχεία ελέγχου δημιουργούνται από το σχήμα του μοντέλου. Ο κώδικας και η τιμή ενημερώνονται καθώς τα αλλάζετε.
/run/veo3.1/image-to-video?wait=20
προσφορά → 0,80 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/veo3.1/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/veo3.1/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": False,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veo3.1/image-to-video", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "veo3.1/image-to-video",
"input": {
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
},
"wait_seconds": 20
}
}
}
Εκτέλεση αυτού του αιτήματος
Το κλειδί σας παραμένει σε αυτό το πρόγραμμα περιήγησης: αποστέλλεται μόνο στο Doitong API και αποθηκεύεται (localStorage) μόνο αν ενεργοποιήσετε την επιλογή «Να απομνημονεύεται». Λήψη κλειδιού API
Σχετικά με το Veo 3.1 Image to Video
Το Veo 3.1 μετατρέπει μια στατική εικόνα σε ρεαλιστικό υλικό που διατηρεί το αντικείμενο και το κάδρο της, με ομιλία, ηχητικά εφέ και μουσική που δημιουργούνται μαζί με την εικόνα. 4, 6 ή 8 δευτερόλεπτα στα 720p, 1080p ή 4K· το κάδρο ακολουθεί την εικόνα ή επιβάλλεται σε 16:9 ή 9:16. Ο ήχος μπορεί να απενεργοποιηθεί για χαμηλότερη τιμή.
Παράμετροι
Στείλτε είτε το κανονικό όνομα είτε το εγγενές όνομα, όχι και τα δύο. Κανονικά ονόματα
promptαπαιτείται
aspect_ratioπροαιρετικό
durationπροαιρετικό
negative_promptπροαιρετικό
resolutionπροαιρετικό
generate_audioπροαιρετικό
seedπροαιρετικό
auto_fixπροαιρετικό
safety_toleranceπροαιρετικό
image_urlαπαιτείται
image
Οι παράμετροι αρχείων δέχονται ένα δημόσιο URL https://, ένα URI data: έως 10 MB ή το file_url μιας μεταφόρτωσης. Αρχεία
Έξοδος
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "veo3.1/image-to-video",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 800,
"usd": "0.80",
"charged": 800,
"refunded": 0
},
"input": {
"prompt": "The fox turns toward the camera and says \"Have you seen my friends?\" in a soft voice, fireflies drift by",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"duration": 6,
"resolution": "720p"
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
}
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Πεδία εξόδου
- video
- object {url, content_type, file_name, file_size}Βίντεο που παράγεται από το μοντέλο.
Άλλες παραλλαγές του Veo 3.1
Περισσότερα μοντέλα: Εικόνα σε βίντεο
Για πράκτορες AI: αυτή η σελίδα σε Markdown βρίσκεται στη διεύθυνση https://doitong.com/el/developers/models/veo3.1/image-to-video.md. Όλα τα μοντέλα και οι οδηγοί: https://doitong.com/developers/llms.txt