diff --git a/swagger.js b/swagger.js
index eb82a72516..a7046e3bd5 100644
--- a/swagger.js
+++ b/swagger.js
@@ -1,5 +1,8 @@
+'use strict'
+
 const swaggerJSDoc = require('swagger-jsdoc');
 const fs = require('fs');
+const yaml = require('js-yaml');
 
 const apiRoot = './src/api/endpoints';
 const files = [
@@ -23,6 +26,8 @@ var options = {
       title: 'Misskey API',
       version: 'aoi',
     },
+    host: 'api.misskey.xyz',
+    schemes: ['https'],
     consumes: [
       'application/x-www-form-urlencoded'
     ],
@@ -34,6 +39,12 @@ var options = {
 };
 options.apis = files.map(c => {return `${apiRoot}/${c}`;});
 
+if(fs.existsSync('.config/config.yml')){
+  var config = yaml.safeLoad(fs.readFileSync('./.config/config.yml', 'utf8'));
+  options.swaggerDefinition.host = config.url;
+  options.swaggerDefinition.schemes = config.https.enable ? ['https'] : ['http'];
+}
+
 var swaggerSpec = swaggerJSDoc(options);
 swaggerSpec.definitions.Error = errorDefinition;