Exactly Grain Film Look
Grain Film Look is a photographic style from Exactly AI that emulates the look of analog film photography. It generates images with natural film grain, warm color shifts, and the organic imperfections characteristic of 35mm and medium format film, ideal for editorial photography, vintage aesthetics, and projects that benefit from an authentic, nostalgic film quality.
API Options
Platform-level options for task execution and delivery.
-
taskType
string required value: imageInference -
Identifier for the type of task being performed
-
taskUUID
string required UUID v4 -
UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.
-
outputType
string default: URL -
Image output type.
Allowed values 3 values
-
outputFormat
string default: JPG -
Specifies the file format of the generated output. The available values depend on the task type and the specific model's capabilities.
- `JPG`: Best for photorealistic images with smaller file sizes (no transparency).
- `PNG`: Lossless compression, supports high quality and transparency (alpha channel).
- `WEBP`: Modern format providing superior compression and transparency support.
**Transparency**: If you are using features like background removal or LayerDiffuse that require transparency, you must select a format that supports an alpha channel (e.g., `PNG`, `WEBP`, `TIFF`). `JPG` does not support transparency.Allowed values 3 values
-
outputQuality
integer min: 20 max: 99 default: 95 -
Compression quality of the output. Higher values preserve quality but increase file size.
-
webhookURL
string URI -
Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.
Learn more 1 resource
- Webhooks PLATFORM
- Webhooks
-
deliveryMethod
string default: sync -
Determines how the API delivers task results.
Allowed values 2 values
- Returns complete results directly in the API response.
- Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse.
Learn more 1 resource
- Task Polling PLATFORM
-
uploadEndpoint
string URI -
Specifies a URL where the generated content will be automatically uploaded using the HTTP PUT method. The raw binary data of the media file is sent directly as the request body. For secure uploads to cloud storage, use presigned URLs that include temporary authentication credentials.
Common use cases:
- Cloud storage: Upload directly to S3 buckets, Google Cloud Storage, or Azure Blob Storage using presigned URLs.
- CDN integration: Upload to content delivery networks for immediate distribution.
// S3 presigned URL for secure upload https://your-bucket.s3.amazonaws.com/generated/content.mp4?X-Amz-Signature=abc123&X-Amz-Expires=3600 // Google Cloud Storage presigned URL https://storage.googleapis.com/your-bucket/content.jpg?X-Goog-Signature=xyz789 // Custom storage endpoint https://storage.example.com/uploads/generated-image.jpgThe content data will be sent as the request body to the specified URL when generation is complete.
-
safety
object -
Content safety checking configuration for image generation.
Properties 2 properties
-
safety»checkContentcheckContent
boolean default: false -
Enable or disable content safety checking. When enabled, defaults to
fastmode.
-
safety»modemode
string default: none -
Safety checking mode for image generation.
Allowed values 2 values
- Disables checking.
- Performs a single check.
-
-
ttl
integer min: 60 -
Time-to-live (TTL) in seconds for generated content. Only applies when
outputTypeisURL.
-
includeCost
boolean default: false -
Include task cost in the response.
-
numberResults
integer min: 1 max: 20 default: 1 -
Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
Inputs
Input resources for the task (images, audio, etc). These must be nested inside the inputs object.
inputs object.-
inputs»referenceImagesreferenceImages
array of objects items: 1 -
Reference images for guiding generation. Each entry specifies an image, its purpose, and optional strength.
Generation Parameters
Core parameters for controlling the generated content.
-
model
string required value: exactly:photo@grain-film-look -
Identifier of the model to use for generation.
Learn more 3 resources
-
positivePrompt
string required -
Text prompt describing elements to include in the generated output.
Learn more 2 resources
-
Width of the generated media in pixels.
Learn more 2 resources
-
Height of the generated media in pixels.
Learn more 2 resources
Autumn Train Platform Farewell
{
"taskType": "imageInference",
"taskUUID": "9411d2e3-ce16-43fa-9051-bf4165a7bf9e",
"model": "exactly:photo@grain-film-look",
"positivePrompt": "A candid 35mm film-style scene on a small rural train platform in late autumn, a young woman in a mustard wool coat holding a paper suitcase while an older man in a dark cap stands near the carriage door, a moment of quiet goodbye without direct eye contact, scattered amber leaves skimming along the platform, faded station signage, muted green train car with worn paint, breath visible in cool morning air, soft overcast daylight, subtle lens softness, natural film grain, warm color shifts, slight halation around highlights, imperfect exposure, understated editorial composition, authentic analog photography aesthetic, intimate nostalgic mood, rich texture, realistic skin tones, documentary realism",
"width": 1264,
"height": 848
}{
"taskType": "imageInference",
"taskUUID": "9411d2e3-ce16-43fa-9051-bf4165a7bf9e",
"imageUUID": "31512de7-904d-4912-8f1b-18eb197f8c43",
"imageURL": "https://im.runware.ai/image/os/a13d12/ws/2/ii/31512de7-904d-4912-8f1b-18eb197f8c43.jpg",
"seed": 1761830881,
"cost": 0.195
}Winter Seaside Boxing Ring
{
"taskType": "imageInference",
"taskUUID": "66e2b7d9-c2ab-4354-9403-3b69a5ad27ce",
"model": "exactly:photo@grain-film-look",
"positivePrompt": "An improvised boxing ring set up on a windswept seaside pier in winter, two amateur fighters sparring while bundled spectators watch from mismatched folding chairs, wool coats, knit caps, peeling paint on wooden planks, choppy gray water beyond, gulls crossing the sky, hand-painted corner signs, breath visible in the cold air, documentary editorial photography, authentic analog 35mm film look, natural film grain, subtle halation, soft contrast, warm color shifts against cool weather, slightly imperfect framing, candid moment, tactile textures, scanned film realism",
"width": 1264,
"height": 848
}{
"taskType": "imageInference",
"taskUUID": "66e2b7d9-c2ab-4354-9403-3b69a5ad27ce",
"imageUUID": "24dc6df8-99a5-4fcb-9aea-fdd6a5b1547e",
"imageURL": "https://im.runware.ai/image/os/a17d13/ws/2/ii/24dc6df8-99a5-4fcb-9aea-fdd6a5b1547e.jpg",
"seed": 592621060,
"cost": 0.195
}Midnight Grocery Aisle Drifter
{
"taskType": "imageInference",
"taskUUID": "694f825c-7b10-4d96-9204-70b5d3bf78b2",
"referenceImages": [
{
"type": "reference",
"image": "https://assets.runware.ai/assets/inputs/0945347f-862e-4ad2-8e1c-7537671192f6.jpg"
}
],
"model": "exactly:photo@grain-film-look",
"positivePrompt": "Authentic 35mm film photograph of a solitary young adult paused in a late-night grocery aisle, candid editorial framing, fluorescent supermarket lighting mixed with direct on-camera flash, warm skin tones, greenish highlights from store lights, subtle halation, visible natural film grain, slight motion softness, imperfect focus, nostalgic color cast, scuffed linoleum floor, overstocked shelves with bright packaging, quiet small-town Americana mood, unpolished analog realism, disposable-camera spontaneity",
"width": 1264,
"height": 848
}{
"taskType": "imageInference",
"taskUUID": "694f825c-7b10-4d96-9204-70b5d3bf78b2",
"imageUUID": "a1351011-c0e0-40d2-a0fb-d3454ba94b24",
"imageURL": "https://im.runware.ai/image/os/a03d21/ws/3/ii/a1351011-c0e0-40d2-a0fb-d3454ba94b24.jpg",
"seed": 2002185162,
"cost": 0.195
}Backstage Ballet Warmup Corridor
{
"taskType": "imageInference",
"taskUUID": "3e2bbdbf-39f6-4177-9fcf-6b40c14c56a2",
"referenceImages": [
{
"type": "reference",
"image": "https://assets.runware.ai/assets/inputs/4f14d539-4792-4081-b2d3-f8c92e17c231.jpg"
}
],
"model": "exactly:photo@grain-film-look",
"positivePrompt": "A candid backstage ballet rehearsal scene rendered with a true analog film aesthetic, one dancer warming up in a narrow corridor lined with costume racks and worn plaster walls, scuffed floor, taped markers, duffel bag and spare slippers nearby, gentle motion in the hands and fabric, soft fluorescent overhead light mixing with warm reflected skin tones, subtle underexposure, organic 35mm grain, halation around highlights, slight color fading, authentic editorial fashion photography mood from the late 1990s, unpolished realism, imperfect framing, natural skin texture, quiet anticipation before performance",
"width": 1264,
"height": 848
}{
"taskType": "imageInference",
"taskUUID": "3e2bbdbf-39f6-4177-9fcf-6b40c14c56a2",
"imageUUID": "8441d6fb-61ac-4c55-ba36-e5041d47f647",
"imageURL": "https://im.runware.ai/image/os/a23d05/ws/2/ii/8441d6fb-61ac-4c55-ba36-e5041d47f647.jpg",
"seed": 354063978,
"cost": 0.195
}