GET /v1/images/models and GET /v1/videos/models; both lists are free and not rate-limited and include a predev price object per row.
Images
POST /v1/images returns generated images synchronously and is charged when the response is returned.
credits_per_image from the model row to estimate cost; the actual charge follows usage.cost like every other call.
Video
Video generation is asynchronous:POST /v1/videossubmits the job and returns a job id.GET /v1/videos/{jobId}reports status.GET /v1/videos/{jobId}/contentreturns the finished video.
/content; the status values and body fields are OpenRouter’s, described in the OpenRouter docs.
Jobs belong to the workspace that created them; another workspace’s job id returns 404.
