> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.videogen.io/rest-api-reference/tools/upscale-image/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.videogen.io/_mcp/server. # Upscale an image POST https://api.videogen.io/v1/tools/upscale-image Content-Type: application/json Increase the resolution of an image while preserving detail and sharpness. Reference: https://docs.videogen.io/rest-api-reference/tools/upscale-image ## Authentication - `Authorization` header (bearer token, required) — API key from [app.videogen.io/api](https://app.videogen.io/api). The full key is only shown once when you create it. ## Request ### Body (application/json) This endpoint expects an ImageAssetRequest. - `imageFileId` (string, required) — File id of the source image (e.g. `vg_file_...`). Upload a file first via `POST /v1/files/upload`, then pass the returned id here. - `watermarkMode` (enum, optional, default: AUTO) — Controls whether the VideoGen watermark is applied to the output. `AUTO` applies the watermark unless you have a Pro plan. `VIDEO_GEN` always applies it. `NONE` removes the watermark (requires Pro; returns an error if you don't have it). - Allowed values: `NONE`, `VIDEO_GEN`, `AUTO` - `numResults` (integer, optional, default: 1) — Number of output results to generate. Defaults to 1. - `isOutputTemporary` (boolean, optional, default: false) — When true, generated files are temporary. Temporary files are guaranteed to be available for 24 hours, after which they may be archived at any time. Temporary files are not analyzed (no description, transcript, or embedding will be generated), so they will not appear in search results. Defaults to false. - `hideFromUi` (boolean, optional, default: false) — When true, generated files are hidden from the VideoGen Media page by default. They remain accessible through the API. Defaults to false. ## Response ### 202 Execution accepted; poll until complete. - `toolExecutionId` (string, required) — Execution id (e.g. `vg_tool_...`). ## Examples **Request** ```json { "imageFileId": "vg_file_obLD1OX2eJCrEs0071Z4kA" } ``` **Response** ```json { "toolExecutionId": "vg_tool_ccm3abc123defcm3xyz789ghi" } ``` **SDK Code** ```typescript import { VideoGen } from "@videogen/sdk"; const client = new VideoGen({ apiKey: "sk_videogen_live_..." }); await client.tools.upscaleImage({ imageFileId: "vg_file_obLD1OX2eJCrEs0071Z4kA", }); ``` ```python from videogen import VideoGen client = VideoGen(api_key="sk_videogen_live_...") client.tools.upscale_image( image_file_id="vg_file_obLD1OX2eJCrEs0071Z4kA", ) ``` > HTTP API with TypeScript and Python SDKs for generating image, video, and audio assets with VideoGen.