decor8ai 2.0.0 copy "decor8ai: ^2.0.0" to clipboard
decor8ai: ^2.0.0 copied to clipboard

Decor8 AI SDK for virtual staging, interior design generation, landscaping, remodeling, wall/cabinet color changes, sky replacement, and sketch-to-3D rendering. Transform empty rooms into beautifully [...]

example/example.dart

import 'package:decor8ai/decor8ai.dart';
import 'dart:convert';
import 'dart:io';

void main() async {
  const decor8aiApiKey= '<DECOR8AI_API_KEY>'; // Get it from prod-app.decor8.ai -> Profile
  var decor8 = Decor8AI(decor8aiApiKey);

  // Example using primeTheRoomWalls with a file path
  // Priming operation applies white paint to the room walls. This is useful if the input image has dark walls or unfinished walls.
  var primeWallsResponse = await decor8.primeTheRoomWalls('./test/sdk_prime_the_walls_image.jpg');

  // Save generated image to local directory
  var images = primeWallsResponse['info']['images'];
  for (var image in images) {
    var uuid = image['uuid'];
    var data = image['data'];

    var outputFile = File('output-data/$uuid.jpg');
    await outputFile.create(recursive: true); // This will create the directory if it does not exist
    await outputFile.writeAsBytes(base64Decode(data));
    print('Image saved: output-data/$uuid.jpg');
  }

  // --------------------------------------------

  // Example using generateDesigns with a file path
  // NOTE:keep input_image = null if you want Decor8 AI to generate a random design style for given room type
  // use num_captions = 1, 2 or 3 if you want to generate captions for the design images
  // use num_images = 1, 2, 3 ,or 4 if you want to generate multiple design images
  var generateDesignsResponse = await decor8.generateDesigns(
    './test/sdk_test_image.jpg',
    'livingroom',
    'modern',
  );
  // Save generated image to local directory
  var designImages = generateDesignsResponse['info']['images'];
  for (var image in designImages) {
    var uuid = image['uuid'];
    var data = image['data'];

    var outputFile = File('output-data/$uuid.jpg');
    await outputFile.create(recursive: true); // This will create the directory if it does not exist
    await outputFile.writeAsBytes(base64Decode(data));
    print('Image saved: output-data/$uuid.jpg');
  }
  
  // --------------------------------------------

  // Generate Random Design Image for specified room type and design style
  // Note that inputImage parameter is left to be null. 
  var randomDesignsResponse = await decor8.generateDesigns(
    null,
    'livingroom',
    'modern',
  );
  // Save generated image to local directory
  var randomDesigns = randomDesignsResponse['info']['images'];
  for (var image in randomDesigns) {
    var uuid = image['uuid'];
    var data = image['data'];

    var outputFile = File('output-data/$uuid.jpg');
    await outputFile.create(recursive: true); // This will create the directory if it does not exist
    await outputFile.writeAsBytes(base64Decode(data));
    print('Image saved: output-data/$uuid.jpg');
  }
}
1
likes
125
points
123
downloads

Publisher

unverified uploader

Weekly Downloads

Decor8 AI SDK for virtual staging, interior design generation, landscaping, remodeling, wall/cabinet color changes, sky replacement, and sketch-to-3D rendering. Transform empty rooms into beautifully staged interiors.

Homepage
Repository (GitHub)
View/report issues

Topics

#ai #interior-design #virtual-staging #real-estate #image-processing

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

http

More

Packages that depend on decor8ai