Generations

Import an image into a project timeline

Imports a single local image directly into a project's timeline as a generation — no prompt, no AI, no effect. The image is stored under your storage prefix and appears in the project's timeline immediately, just like a generated image. Counts against your storage quota.

Use this when you want to bring an external photo into a project so it can be used as a source for cutouts, restyles, or other operations that operate on existing generations.

Request

Multipart only. The file and project_id fields are required; name is optional (auto-derived from the filename if omitted).

Response

Returns the full generation object (same shape as GET /v1/generations) with a signed image_url.

post/v1/generations/upload

Request

  • Base URL: https://nanostudiopro.com/api
  • URL: https://nanostudiopro.com/api/v1/generations/upload
  • Auth: HTTP bearer

Response

Image imported and available as a generation. When other versions of the same picture are already in your library (a larger original, a smaller export, a re-save), the answer adds versions: see GET /v1/media/{type}/{id}/versions. Nothing is refused over it.

idstring
project_idstring
namestring nullable
metadataobject nullable

The fields you sent as metadata when uploading or importing it, returned unchanged.

image_urlstring uri

Signed URL to the generated image. Tied to a ~6-hour signing window (always at least 10 minutes of validity left); re-fetch the resource for a fresh one.

prompt_usedstring

The full prompt sent to the model — includes the aspect/resolution directive we append.

aspect_ratio'1:1' | '4:5' | '3:4' | '9:16' | '16:9' | '3:2' | '2:3'
resolution'1K' | '2K' | '4K'
widthinteger nullable

Real width in pixels (if measured).

heightinteger nullable
created_atstring date-time

Example response

{
  "name": "Linen suit hero"
}

Changes

No recorded changes to this operation across all 2 revisions of this API.