Example Usage
import { VideoGenerationResponse } from "@openrouter/sdk/models";
let value: VideoGenerationResponse = {
id: "gen-vid-1789480874-Ab3dEf9hIjKlMnOpQrSt",
pollingUrl: "/api/v1/videos/gen-vid-1789480874-Ab3dEf9hIjKlMnOpQrSt",
status: "pending",
};
Fields
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
error | string | ➖ | N/A | |
expiresAt | number | ➖ | Unix timestamp in seconds when OpenRouter’s stored copy of the outputs stops being available. Present only when that copy exists. | |
generationId | string | ➖ | The generation ID associated with this video generation job. Available once the job has been processed. | |
id | string | ✔️ | The video job ID, in the gen-vid-<timestamp>-<20 alphanumerics> generation ID format. Pass it as previous_job_id to continue the generation. | |
pollingUrl | string | ✔️ | N/A | |
status | models.VideoGenerationResponseStatus | ✔️ | N/A | |
unsignedUrls | string[] | ➖ | OpenRouter content URLs for each output. They need your API key in the Authorization header and keep working for as long as the output is available. | |
urls | string[] | ➖ | Signed download URLs for OpenRouter’s stored copy of each output, usable without an API key until expires_at. Anyone holding a URL can download that output until it expires, so treat it like a secret. Present only when the stored copy exists. | |
usage | models.VideoGenerationUsage | ➖ | Usage and cost information for the video generation. Available once the job has completed. | { “cost”: 0.5, “is_byok”: false } |