Source: https://ailoot.ai/models/sv/viduq2/
Canonical: https://ailoot.ai/models/sv/viduq2/
Language: sv

# Vidu: Q2 Text-to-Video

[Markdown](https://ailoot.ai/models/sv/viduq2/index.md) · [JSON](https://ailoot.ai/models/sv/viduq2/facts.json)

## [Vidu: Q2 Text-to-Video](https://ailoot.ai/models/sv/viduq2/)

Vidu Q2 skapar video från en textbaserad scenbeskrivning, med en längd på 1–10 sekunder, utdata i 540p, 720p eller 1080p och fem bildförhållanden. Den här exakta viduq2-profilen använder prompten för stil och rörelse och returnerar resultatet genom en asynkron uppgift.

- [**Ailoot Ultra · Videor** `POST /v1/videos` `viduq2`](https://ailoot.ai/models/sv/viduq2/#method-0)

Om modellen

Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.

Vidu Q2 skapar video från en skriven scen via den text-till-video-profil som väljs med viduq2. Obligatoriska indata är modellens exakta identifierare och en prompt som beskriver scenen. Använd den för ett kort produktkoncept, en etableringsbild eller en handling utförd av en karaktär vars utseende och rörelse kan beskrivas med ord. Den här konfigurerade metoden är text-till-video; beskrivningen tilldelar inte väljaren ett separat läge för bildreferenser eller videoredigering.

Bygg scenbeskrivningen kring en synlig sekvens. Ange motiv, plats, handling, bildutsnitt, kamerarörelse och slutkomposition. För ett produktkoncept kan du beskriva ett föremål på ett bord, ljus som rör sig över materialet och en långsam kameraåkning framåt som slutar vid en igenkännbar detalj. För en platsscen etablerar du miljön innan kameran rör sig mot blickfånget. Anpassa handlingen till den valda klipplängden så att scenen får plats med det avsedda slutet.

Promptens gräns är 2 000 tecken. Ange det viktigaste motivet och handlingen först och lägg sedan till de detaljer om ljus, material, miljö och kamera som påverkar det önskade resultatet. Ange den visuella stilen i prompten. Den Q2-specifika guiden säger att de separata parametrarna style och movement\_amplitude saknar effekt för den här modellen. Förvalet general eller anime och alternativen för rörelseamplitud ersätter därför inte en tydlig scenbeskrivning.

Den modellspecifika längdinställningen accepterar hela sekunder från en till tio. De Q2-specifika upplösningsalternativen är 540p, 720p och 1080p, med 720p som dokumenterat standardvärde. Välj längd och upplösning tillsammans utifrån handlingen och användningsområdet. En kort presentation och en längre rörelse behöver olika tidsförlopp; en ökad begärd längd ska stödja den synliga sekvensen, inte bara dra ut en oförändrad beskrivning. Kontrollera det returnerade klippets faktiska mått och längd när du förbereder den slutliga placeringen.

De dokumenterade alternativen för aspect\_ratio är 16:9, 9:16, 3:4, 4:3 och 1:1, med 16:9 som standardvärde. Guiden omfattar uttryckligen 3:4 och 4:3 för Q2-familjen. Välj bildformat före genereringen och beskriv en komposition som passar: håll huvudmotivet tydligt i ett stående format eller använd bredden i ett liggande format för den omgivande miljön. Låt slutbilden vara tillräckligt tydlig för den avsedda sidan, presentationen eller senare textningen.

Fältet seed styr variationen. Om det utelämnas eller anges som 0 väljs ett slumpmässigt värde; ett värde skilt från noll väljer det dokumenterade alternativet med fast seed för repeterbar generering. Spara det returnerade seed-värdet med prompten och inställningarna när du jämför versioner. Den gemensamma operationen dokumenterar också kontrollerna audio och off\_peak specifikt för Q3-modeller. Dessa Q3-alternativ är inte förmågor som tilldelas den här Q2-profilen; planera begäran utifrån dess dokumenterade textindata och videoutdata.

Genereringen är asynkron. När uppgiften skickas in returneras task\_id och ett inledande tillstånd, där created används för en nyskapad uppgift. Behåll uppgiftens identitet medan du följer bearbetningen. Den dokumenterade resultatfrågan använder state=success för ett lyckat resultat och returnerar en creations-array. Varje post har sin video-URL i creations\[\].url; spara varje returnerad video i stället för att anta att uppgiften alltid innehåller exakt en skapelse.

Resultatdokumentationen rapporterar också den faktiska videons längd, fps samt upplösningens bredd och höjd. Spara dessa rapporterade värden med det färdiga klippet i stället för att behandla ett exempels bildfrekvens eller mått som en fast Q2-specifikation. Svaret när uppgiften skapas innehåller ett credits-värde tillsammans med begärans konfiguration. Spara dessa rapporterade uppgiftsmetadata och den färdiga uppgiftens identitet med resultatet, så att varje video förblir kopplad till sina genereringsinställningar.

Granska hela sekvensen mot den ursprungliga scenbeskrivningen: motivets utseende, föremålets form, rörelseriktning, kamerakontinuitet och den avsedda slutbilden. Vid en revidering anger du den konkreta detalj som inte följde beskrivningen och bevarar de delar av scenen som fungerade. Håll prompt, exakt väljare, inställningar, uppgiftsidentitet och färdiga videor tillsammans så att en senare jämförelse bygger på de faktiska resultaten.

**Ailoot Ultra · Videor** `POST /v1/videos` `viduq2`

[`viduq2`](https://ailoot.ai/models/sv/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

Vidu /`viduq2`

### Start

Vidu Q2 skapar video från en textbaserad scenbeskrivning, med en längd på 1–10 sekunder, utdata i 540p, 720p eller 1080p och fem bildförhållanden. Den här exakta viduq2-profilen använder prompten för stil och rörelse och returnerar resultatet genom en asynkron uppgift.

Godkända indata

Text

Resultat

Video

### Tillgängligt i Ailoot · indata & metoder

**Ailoot Ultra · Videor** `POST /v1/videos`

Indatatyper

`text`

Utdatatyper

`video`

| Fält | Typ | Krav | Värden & gränser | Standard |
| --- | --- | --- | --- | --- |
| Fält`model` | Typ`string` | KravObligatoriskt | Värden & gränser viduq2 | Standard— |
| Fält`prompt` | Typ`string` | KravObligatoriskt | Värden & gränser Villkor: Beskriv den genererade scenen. Den dokumenterade gränsen är 2000 tecken; Ailoot kontrollerar att strängen inte är tom och bevarar texten. | Standard— |
| Fält`duration` | Typ`integer` | KravValfritt | Värden & gränser Minimum: 1 Maximum: 10 Villkor: Den modellspecifika beskrivningen för viduq2 anger 1–10 hela sekunder. Ingen modellspecifik standardlängd är dokumenterad. Enhet: sekunder | Standard— |
| Fält`seed` | Typ`string` | KravValfritt | Värden & gränser Villkor: Utelämna eller skicka strängen "0" för slumpmässighet. Ett angivet seed som inte är noll väljer det dokumenterade beteendet med fast seed; inget numeriskt intervall anges. | Standard— |
| Fält`aspect_ratio` | Typ`string` | KravValfritt | Värden & gränser 16:9, 9:16, 3:4, 4:3, 1:1 | Standard16:9 |
| Fält`resolution` | Typ`string` | KravValfritt | Värden & gränser 540p, 720p, 1080p Villkor: Den modellspecifika listan för viduq2 dokumenterar dessa nivåer för 1–10 sekunder. En gemensam enum och tabell nämner även 360p; dess tillämpning motsäger listan och fastställs inte här. | Standard720p |
| Fält`style` | Typ`string` | KravValfritt | Värden & gränser general, anime Villkor: Den gemensamma begäran accepterar fältet, men dokumentationen anger uttryckligen att det saknar effekt för viduq2. | Standardgeneral |
| Fält`movement_amplitude` | Typ`string` | KravValfritt | Värden & gränser auto, small, medium, large Villkor: Den gemensamma begäran accepterar fältet, men dokumentationen anger uttryckligen att det saknar effekt för q2-modeller. | Standardauto |

Kombinationer av indatamaterial

Metodparametrar och livscykel

| Parameter | Avtal |
| --- | --- |
| Parameter`content_type` | Avtalapplication/json |
| Parameter`required` | Avtalmodel, prompt |
| Parameter`optional` | Avtalduration, seed, aspect\_ratio, resolution, style, movement\_amplitude |
| Parameter`material_types` | Avtaltext |
| Parameter`additional_properties` | Avtaltrue |
| Parameter`validation_scope` | AvtalAiloot validerar att model/prompt-strängarna inte är tomma. Valfria typer och gränser nedan utgör det dokumenterade begäranskontraktet; övriga begäransfält bevaras för den valda modellen. |

Metodalias: `/v1/videos/generations`

Livscykel: `submit_once_poll_original`

`GET /v1/videos/{request_id}`

`GET /v1/videos/generations/{request_id}`

`GET /v1/videos/{request_id}/content`

`GET /v1/videos/generations/{request_id}/content`

Skapa en gång och behåll returnerat offentligt id och polling\_url.

Kontrollera den ursprungliga operationen och läs state; success och ett ägt resultat i creations\[\].url utgör gränsen för slutförande.

Hämta varje returnerad URL för en video som du äger; dra inga slutsatser om ett fast antal resultat, en fast längd eller bildfrekvens utifrån exemplet.

### Priser

##### Så beräknas slutavgiften

De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge

Ej angivet När snabbt läge är valt

Flex-läge

Ej angivet När läget flex är valt

Högsta resonemangsnivå

Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

#### Uppskattade priser för jämförelse

#### Priser efter konfiguration

Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.

| Konfiguration | Prislista | Prognostiserad mängd | Avgift |
| --- | --- | --- | --- |
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse **—** / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse **—** / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse **—** / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse **—** / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse **—** / 1K token |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse **$5.12** uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. [Så fungerar reservation och slutreglering →](https://ailoot.ai/docs/sv/billing/reserve/)

### Exempelbegäranden

#### Ailoot Ultra · Videor

curl · skapa videocurl · läs den ursprungliga uppgiftencurl · ladda ned varje video som tillhör dig

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"viduq2","prompt":"In an ultra-realistic fashion photography style featuring light blue and pale amber tones, an astronaut in a spacesuit walks through the fog. The background consists of enchanting white and golden lights, creating a minimalist still life and an impressive panoramic scene."}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i:raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use the actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
```

```bash
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("state")!="success":raise SystemExit("Poll the same original job until its owned result is returned.")
creations=r.get("creations")
if not isinstance(creations,list) or not creations:raise SystemExit("No completed video creations.")
urls=[]
for item in creations:
    value=item.get("url") if isinstance(item,dict) else None
    values=[value] if isinstance(value,str) else value
    if not isinstance(values,list) or not values:raise SystemExit("No completed video URL.")
    for u in values:
        if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
        p=urlsplit(u)
        if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for the actual Ailoot-owned signed result.")
        urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt
```

### Ta emot och spara resultat

#### Ailoot Ultra · Videor

JSON behåller leverantörens state och creations-array och lägger till offentliga id/provider\_task\_id/polling\_url. Valda videolänkar är tomma före publicering och blir signerade länkar som ägs av Ailoot efter slutförande.

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Behåll alla färdiga resultat

Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.

Hämta varje faktiskt returnerad URL i creations\[\].url; ett innehållsindex identifierar ett faktiskt returnerat resultat.

##### Om det ursprungliga svaret behöver kontrolleras

Den låsta deklarationen räknar inte upp något slutligt feltillstånd. Bevara ursprungligt svar, svarshuvuden och id och kontrollera samma operation vid ett okänt tillstånd eller felet result\_pending\_check; skicka aldrig en oklar skapandebegäran igen.

Svarsfält

| Fält | Typ | Betydelse |
| --- | --- | --- |
| Fält`id` | Typstring | BetydelseReturnerad offentlig identifierare för uppgiften eller operationen i Ailoot. |
| Fält`provider_task_id` | Typstring | BetydelseUrsprunglig uppgiftsidentifierare, skild från offentligt id. |
| Fält`polling_url` | Typstring | BetydelseReturnerad sökväg för uppslagning av den ursprungliga uppgiften i Ailoot. |
| Fält`task_id` | Typstring when supplied | BetydelseUrsprunglig identifierare som finns i skapandesvaret. |
| Fält`state` | Typstring when supplied | BetydelseLeverantörens uppgiftstillstånd: created för det låsta vänteläget och success för slutförande. |
| Fält`err_code` | Typstring when supplied | BetydelseUppgiftsdiagnostik; den sparade specifikationen anger ingen uppräknad lista med felkoder. |
| Fält`creations[].url` | Typstring\|string\[\] | BetydelseVarje vald URL till en färdig video ersätts med en signerad URL som ägs av Ailoot. |
| Fält`creations[].video.duration` | Typnumber when supplied | BetydelseReturnerad videolängd; granska det faktiska färdiga resultatet. |
| Fält`creations[].video.fps` | Typinteger when supplied | BetydelseReturnerad bildfrekvens; ingen fast bildfrekvens utlovas. |
| Fält`creations[].video.resolution.width` | Typinteger when supplied | BetydelseReturnerad utdatabredd i pixlar. |
| Fält`creations[].video.resolution.height` | Typinteger when supplied | BetydelseReturnerad utdatahöjd i pixlar. |

Fel och nästa steg

| Svar | Villkor | Nästa steg |
| --- | --- | --- |
| Svar400 · `invalid_request_error` | VillkorOgiltig JSON/modell, obligatoriska strängar som saknas eller är tomma, eller ogiltigt innehållsindex. | Nästa steg |
| Svar401 · `authentication_error` | VillkorOgiltig API-nyckel för Ailoot. | Nästa steg |
| Svar403 · `permission_error` | VillkorAPI-nyckelns grupp har inte tillträde till denna medierutt. | Nästa steg |
| Svar404 · `not_found_error` | VillkorDen ursprungliga uppgiften eller begärda utdatan saknas eller ägs inte av samma användare, API-nyckel och grupp. | Nästa steg |
| Svar502 · `result_pending_check` | VillkorDen ursprungliga inskickningen eller statusen är ofullständig eller kan inte stämmas av; bevara det ursprungliga ID:t och skicka inte in igen. | Nästa steg |
| Svar503 · `result_pending_check` | VillkorDen ursprungliga kopplingen, rutten eller mediefilen som du äger kontrolleras fortfarande; fortsätt att kontrollera den ursprungliga operationen. | Nästa steg |
| Svar503 · `server_error` | VillkorMedietjänsten eller lagringen för den ursprungliga uppgiften är inte tillgänglig. | Nästa steg |

### Alias

#### Modellalias

**Ailoot Ultra** [`viduq2`](https://ailoot.ai/models/sv/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

#### Alias för metodsökvägar

`/v1/videos/generations`

#### Relaterade anropar-ID:n

[`viduq2`](https://ailoot.ai/models/sv/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

FAQ · Vidu: Q2 Text-to-Video

Vilka indata och resultat finns?

`POST /v1/videos` · `viduq2`: `text` → `video`

Vilka fält använder begäran?

`POST /v1/videos` · `viduq2`: `model`, `prompt`, `duration`, `seed`, `aspect_ratio`, `resolution`, `style`, `movement_amplitude`

Vilka gränser gäller?

`POST /v1/videos` · `viduq2`: `duration.minimum`: `1`; `duration.maximum`: `10`

Anslut Ailoot till Claude Code, OpenCode, Hermes eller din app.

## Företaget och dess projektportfölj

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

## Köp token med rabatt.

Prenumerationsrabatt för återkommande arbete. Kampanjkoder ger upp till 50% vid tokenköp.

Prenumeration

Välj en rabatterad plan för återkommande anrop.

Kampanjkod upp till 50%

Ange koden vid köpet. Priset räknas om enligt kampanjen.

Kostnader i historiken

Modell, token och belopp sparas för varje anrop.

[Välj prenumeration](https://ailoot.ai/docs/sv/billing/subscriptions/) · [Se modellpriser](https://ailoot.ai/models/sv/)

## Anslut API till produkten som du säljer.

SaaS, appar och botar enligt Ailoots officiella villkor och licensavtal. Begär återförsäljarlicens för vidareförsäljning.

Kommersiell applikation

Bygg text-, bild-, video- och ljudgenerering i tjänstens betalda funktioner.

Återförsäljarlicens

Skicka projektbeskrivning och åtkomstupplägg. Begär skriftliga villkor för användning och vidareförsäljning.

Dokument på webbplatsen

Officiella villkor, licensavtal och databehandlingspolicy finns tillgängliga före anslutning.

[Begär återförsäljarlicens](mailto:support@ailoot.ai) · [Officiella villkor och licensavtal](https://ailoot.ai/legal/offer?lang=sv)

## Ailoot · Företaget och dess projektportfölj





Ailoot bygger på etablerad driftserfarenhet, en stor kundbas, stabil service och löpande KPI-kontroll.





Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.





Ailoot använder denna driftserfarenhet för API-åtkomst till AI-funktioner i kundernas produkter, agenter, applikationer och automatiseringar.
