diff --git a/src/main/java/io/better/toutiao/api/util/FileManagerApi.java b/src/main/java/io/better/toutiao/api/util/FileManagerApi.java
new file mode 100644
index 0000000..2640620
--- /dev/null
+++ b/src/main/java/io/better/toutiao/api/util/FileManagerApi.java
@@ -0,0 +1,103 @@
+package io.better.toutiao.api.util;
+
+import io.better.toutiao.dto.BaseRespDTO;
+import io.better.toutiao.dto.util.FileInfoInDTO;
+import io.better.toutiao.dto.util.FileInfoOutDTO;
+import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * The interface File manager api.
+ *
+ * @author better create in 2019-04-30 10:51
+ */
+@FeignClient(value = "https://ad.toutiao.com/open_api/2", url = "/file")
+public interface FileManagerApi {
+
+    /**
+     * 工具-文件管理-上传广告主图片
+     *
+     * @param accessToken 访问凭证
+     * @param fileInfoOut 文件信息
+     * @return the base resp dto
+     */
+    @PostMapping(value = "/image/advertiser")
+    BaseRespDTO<FileInfoInDTO> uploadAdvertiserImage(@RequestHeader("Access-Token") String accessToken,
+                                                     @RequestBody FileInfoOutDTO fileInfoOut);
+
+    /**
+     * 工具-文件管理-上传广告图片
+     *
+     * @param accessToken 访问凭证
+     * @param fileInfoOut 文件信息
+     * @return the base resp dto
+     */
+    @PostMapping(value = "/image/ad")
+    BaseRespDTO<FileInfoInDTO> uploadAdvertisingImage(@RequestHeader("Access-Token") String accessToken,
+                                                      @RequestBody FileInfoOutDTO fileInfoOut);
+
+    /**
+     * 工具-文件管理-查询图片信息
+     *
+     * @param accessToken  访问凭证
+     * @param advertiserId 广告主ID
+     * @param imageIds     图片ID
+     * @return the image info
+     */
+    @GetMapping(value = "/ad/get")
+    BaseRespDTO<FileInfoInDTO> getImageInfo(@RequestHeader("Access-Token") String accessToken,
+                                            @RequestParam("advertiser_id") Long advertiserId,
+                                            @RequestParam("image_ids") String[] imageIds);
+
+    /**
+     * 工具-文件管理-查询视频信息
+     *
+     * @param accessToken  访问凭证
+     * @param advertiserId 广告主ID
+     * @param videoIds     视频ID
+     * @return the video info
+     */
+    @GetMapping(value = "/video/ad/get")
+    BaseRespDTO<FileInfoInDTO> getVideoInfo(@RequestHeader("Access-Token") String accessToken,
+                                            @RequestParam("advertiser_id") Long advertiserId,
+                                            @RequestParam("video_ids") String[] videoIds);
+
+
+    /**
+     * 工具-文件管理-获取图片素材
+     *
+     * @param accessToken  访问凭证
+     * @param advertiserId 广告中ID
+     * @param filtering    过滤条件
+     * @param page         当前页
+     * @param pageSize     每页记录数
+     * @return the image material info
+     */
+    @GetMapping(value = "/image/get")
+    BaseRespDTO<FileInfoInDTO> getImageMaterialInfo(@RequestHeader("Access-Token") String accessToken,
+                                                    @RequestParam("advertiser_id") Long advertiserId,
+                                                    @RequestParam(value = "video_ids", required = false) Map<String, Object> filtering,
+                                                    @RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
+                                                    @RequestParam(value = "page_size", defaultValue = "20", required = false) Integer pageSize);
+
+    /**
+     * 工具-文件管理-获取视频素材
+     *
+     * @param accessToken  访问凭证
+     * @param advertiserId 广告中ID
+     * @param filtering    过滤条件
+     * @param page         当前页
+     * @param pageSize     每页记录数
+     * @return the video material info
+     */
+    @GetMapping(value = "/video/get")
+    BaseRespDTO<FileInfoInDTO> getVideoMaterialInfo(@RequestHeader("Access-Token") String accessToken,
+                                                    @RequestParam("advertiser_id") Long advertiserId,
+                                                    @RequestParam(value = "video_ids", required = false) Map<String, Object> filtering,
+                                                    @RequestParam(value = "page", defaultValue = "1", required = false) Integer page,
+                                                    @RequestParam(value = "page_size", defaultValue = "20", required = false) Integer pageSize);
+
+
+}
diff --git a/src/main/java/io/better/toutiao/dto/util/FileInfoInDTO.java b/src/main/java/io/better/toutiao/dto/util/FileInfoInDTO.java
new file mode 100644
index 0000000..4741480
--- /dev/null
+++ b/src/main/java/io/better/toutiao/dto/util/FileInfoInDTO.java
@@ -0,0 +1,82 @@
+package io.better.toutiao.dto.util;
+
+import io.better.toutiao.dto.resp.PageRespDTO;
+import lombok.Data;
+
+/**
+ * @author better create in 2019-04-30 10:55
+ */
+@Data
+public class FileInfoInDTO extends PageRespDTO {
+
+    // ==========图片信息 start==========
+
+    /**
+     * 图片ID
+     */
+    private String id;
+
+    /**
+     * 图片大小
+     */
+    private Long size;
+
+    /**
+     * 图片宽度
+     */
+    private Integer width;
+
+    /**
+     * 图片高度
+     */
+    private Integer height;
+
+    /**
+     * 预览地址(1小时内有效)
+     */
+    private String url;
+
+    /**
+     * 图片格式
+     */
+    private String format;
+
+    /**
+     * 图片md5
+     */
+    private String signature;
+
+    // ==========图片信息 end============
+
+    // ==========视频信息 start==========
+
+    /**
+     * 视频ID
+     */
+    private String videoId;
+
+    // ==========视频信息 end============
+
+
+    // ==========视频素材信息 start=======
+
+    /**
+     * 视频首帧截图
+     */
+    private String posterUrl;
+
+    /**
+     * 码率
+     */
+    private String bitRate;
+
+    /**
+     * 时长
+     */
+    private Long duration;
+
+    // ==========视频素材信息 end=========
+
+    // ==========图片素材信息 start=======
+    // ==========图片素材信息 end=========
+}
diff --git a/src/main/java/io/better/toutiao/dto/util/FileInfoOutDTO.java b/src/main/java/io/better/toutiao/dto/util/FileInfoOutDTO.java
new file mode 100644
index 0000000..0592b35
--- /dev/null
+++ b/src/main/java/io/better/toutiao/dto/util/FileInfoOutDTO.java
@@ -0,0 +1,57 @@
+package io.better.toutiao.dto.util;
+
+import io.better.toutiao.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.File;
+
+/**
+ * @author better create in 2019-04-30 10:55
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FileInfoOutDTO extends BaseDTO {
+
+    // ==========图片信息==========
+
+    /**
+     * 图片上传方式
+     * 默认值: UPLOAD_BY_FILE
+     * 允许值: "UPLOAD_BY_FILE", "UPLOAD_BY_URL"
+     */
+    private String uploadType;
+
+    /**
+     * 图片的md5
+     */
+    private String imageSignature;
+
+    /**
+     * 图片地址
+     * upload_type为UPLOAD_BY_FILE必填
+     */
+    private File imageFile;
+
+    /**
+     * 图片地址url
+     * upload_type为UPLOAD_BY_URL必填
+     */
+    private String imageUrl;
+
+    // ==========图片信息 end============
+
+    // ==========视频信息 start==========
+
+    /**
+     * 视频MD5
+     */
+    private String videoSignature;
+
+    /**
+     * 视频文件
+     */
+    private File videoFile;
+
+    // ==========视频信息 end============
+}